Structure Or Record In JavaCard Framework

Can anybody please tell me if there is a way to define or implement records or structures in Javacard Framework??
My IDE is eclipse and I have so many master_detail data to store in Javacard, because my card does not support DB storage(SCQL) I'm searching a way better than storring data just in arrays...
any idea about better kind of storring data on card would be so much appreciated --<--@
my data are some thing like this:
Name,Family,Age,Sex,CreditNo,....
and also:
Master : DateOfVisit, TimeOfVisit, CodeOfVisit
Detail: IndexCode, DrugName, DrugInstruction
an Example is ::
Name:Hana
Family:Bijani
Age:25
Sex:Femail
CreditNo:176.3434
Data1
DateOfVisit:2009-08-08
TimeOfVisit:14:23
CodeOfVisit:123
IndexCode:1 DrugName:Drug A DrugInstruction: someinstructA
IndexCode:2 DrugName:Drug B DrugInstruction: someinstructB
Data2
DateOfVisit:2009-08-06
TimeOfVisit:14:23
CodeOfVisit:12345
IndexCode:1 DrugName:Drug A DrugInstruction: someinstructA
IndexCode:2 DrugName:Drug B DrugInstruction: someinstructB
IndexCode:3 DrugName:Drug C DrugInstruction: someinstructC
IndexCode:4 DrugName:Drug D DrugInstruction: someinstructD
Kind Regards
Hana

what you want is really simple: it's a class:
public class record {
public byte[] name;
public short credit;
//no constructor means default void constructor
//use
class main {
private record[] records;
private short record_count;
//in a method, create a record
short rec_num = record_count++;
records[rec_num]=new record();
records[rec_num].credit = .....
records[rec_num].name=new byte[16];
JCSystem.arrayCopyNonAtomic( data..... , offset..... records[rec_num].name,16);
//Etc
cheat sheet:
- no string in javacards, use byte[] arrays, and encode strings to ASCII UTF8 or whatever
- no int except in rare cards, use shorts for 16 bits values, arrays of bytes to simulate ints
- no pointers in java
- struct are classes
- byte[] arrays created with new are non volatile
in general, cards are dumb. they only store raw byte arrays and the actual structure management is left to the host. This is a very robust and ubiquitous design, allowing reuse and simpification of on card code.
So in a perfect world you should'nt need a class to store records. A byte array is sufficient.
Imagine one day you want to add a new field in your record. argh!! you have to recompile/redeploy a new applet. If some millions clients already have it... fail!
However if you only store a raw record, it's just a matter or recompiling a basic java/whatever application, not a highly embedded code :)

Similar Messages

  • OCF or Javacard.Framework

    OCF or Javacard.Framework? which one is better? I'm alittle confused with these concepts..
    as I told in my last post my pc application is written in Delphi language and I installed my applet into card which delphi app send data to this applet via APDU..
    now the question is Which one could be better to use in my applet? OCF or Javacard.Framework??
    regards

    From my understanding OCF is an off-card API for communicating with cards and readers with Java. The card you have should have the org.globalplatform package and won't have OCF. If you want your applet to be portable across different cards, you should probably stick with javacard.framework.
    JCOP Tools should also help with this. It will only allow you to build against standard libraries. If you have vendor specific libraries for the target card you are using, you will need to get the Jar files to build against from them.
    Cheers,
    Shane

  • Javacard.framework.APDU sendBytes method

    In the class javacard.framework.APDU, I found that in several methods such as sendBytes(short bOff, short leng) or public void sendBytesLong(byte[] outData, short bOff, short len), they say:
    "Requiring that the buffer not be altered allows the implementation to reduce protocol overhead by transmitting the last part of the response along with the status bytes."
    I can not understand it so well. Why is it related to protocol overhead reduction? And what is "status bytes"?
    Your reply, whether helpful or not, is highly appreciated
    Jason

    So you mean when it transmits the last packet including status bytes ~~> there would be one transmission only ~~> instead of two transmissions that last data is sent first and status bytes are sent then.
    ~~> thus, one (instead of two) can reduce the slight protocol overhead
    When this process is repeated for each APDU response, it can lead to a multiple of slight overheads ~~> reduce the protocol overhead significantly
    Is that right?
    Jason

  • Export file framework.exp of package javacard.framework not found

    Hi,
    trying to convert the HelloWord example of the Sun Javacard Kit (2.2.2), i get the "error: export file framework.exp of package javacard.framework not found". I have compiled the file according to the documentation and i am still following the documentation for converting it.
    this is the command i use:
    %JC_HOME%/bin/converter.bat -config C:\java_card_kit-2_2_2\samples\src\com\sun\javacard\samples\HelloWorld\HelloWorld.opt
    Ideas?
    Thanks
    Edited by: uig on Oct 23, 2007 7:54 AM

    how did you compile ur helloworld.opt file coz when i tried it i got this err msg
    call %JC_HOME%\bin\converter -config ..\src\com\sun\javacard\samples\HelloWorld\HelloWorld.opt
    and got this err
    Exception in thread "main" java.lang.NoClassDefFoundError: Files\Java\jre1/6/0_03\lib\ext\QTJava/zip;

  • There is not javacard.framework in Java Card 3.0.4

    I tried to write a javacard applet. So,
    Download Java Card Classic Development Kit 3.0.4 (java_card_kit-classic-3_0_4-rr-bin-do-b28-windows-06_sep_2011.jar) that I get its JAR File
    I add the JAR File in to Eclipse by add it in the Java Build Path>Library.
    But when I wanted to import javacard.framework, I got the "javacard.framework cannot be resolved" error. Moreover, when I saw inside the Development Kit, there was no javacard.framwork package in it. There is only "com.","net.","apache." package.

    I can execute it. Now, I can get all stuff including the javacardx.framework.
    I download JCDE and and put it into Eclipse Folder. There is the "Java Card" Menu on the top bar of eclipse. I set the JavaCard home at the preference of the menu to My installed JavaCard Development kit folder but I cannot apply . Eclipse said there is not converter.jar in the folder. So, I have to set the JavaCard home to My JavaCard 2.2.1 folder instead.
    However, Eclipse still give me the "javacard.framework cannot be resolved" error

  • Generating token for javacard framework?

    Hi,
    I am implementing JCRE and it needs to support all APIs that are specified by Oracle JCRE.
    It means that beside the coding/ implementation of each class and method, My framework needs to have tokens of each class, method and field as same as tokens of corresponding Oracle API classes, methods and fields.
    I don't know if there is a special rule to set token for each framework related item? Or Tokens will be changed if there are changes in framework?
    thanks,

    Stratos,
      Thanks for your inputs,
      I changed the code as you suggested , now my whole code looks like :
    <%@ page import="com.crystaldecisions.sdk.framework.*" %>
    <%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
    <%@ page import="com.crystaldecisions.sdk.occa.security.*" %>
    <%
    boolean loginSuccessful = false;
    IEnterpriseSession boEnterpriseSession = null;
    String username = "user";
    String password = "Password";
    String cmsname  = "Server";
    String authenticationType = "secEnterprise";
    try {
       //Log in.
       boEnterpriseSession = CrystalEnterprise.getSessionMgr().logon( username, password, cmsname, authenticationType);
       if (boEnterpriseSession == null) {
          out.print("<FONT COLOR=RED><B>Unable to login.</B></FONT>");
       } else {
          loginSuccessful = true;
    } catch (SDKException sdkEx) {
       out.print("<FONT COLOR=RED><B>ERROR ENCOUNTERED</B><BR>" + sdkEx + "</FONT>");
    if (loginSuccessful) {
       ILogonTokenMgr boLogonTokenMgr = boEnterpriseSession.getLogonTokenMgr();
         String logonToken = boLogonTokenMgr.createLogonToken("", 60, 1);
         //String logonToken = boLogonTokenMgr.getDefaultToken();
       String infoViewURL = null;
       String tokenParam = null;
       String redirectURL = null;
       infoViewURL = "http://Server:8080/InfoViewApp/logon.jsp";
       tokenParam = "ivsLogonToken=" + logonToken;
       redirectURL = infoViewURL + "&" + tokenParam;
       pageContext.forward( "openDocument.jsp?iDocID=" + 4668 + "&token=" + tokenParam);
    %>
    But I am still getting the Infoview Login Page . The url on the login page is
    http://server:8080/OpenDocument/opendoc/logonTrustedAuth.do?appKind=InfoView&iDocID=4668&isApplication=true&token=ivsLogonToken%server%3A6400%4021181JIipxt70VM0kd90v21179JFd4dHn7kW2FKSBi
    We can see that a token is being generated and appended to this url but it is not passing the user name and password.
    Please let me know what you think about this.

  • HD crash.  Disk utility says invalid node structure, invalid record count.  Disk utility cannot repair. Now what?

    My hard drive crashed.  The disk utility says it can not repair.  I tried to boot in safe mode but I stopped after 10 minutes.  Is that impatient or how long can it take?
    I have the installation disk but doesn't that erase everything?

    I have never bought a new computer from Apple so I don't know the details of what is covered by the warranty.  You can try taking it to the Apple Store and they may have a copy of DW they can run.  Or maybe not and they will just wipe the drive and reinstall the OS for you and if you haven't made a backup before they do that then tough luck.  I'd check first!
    If you buy Diskwarrior on DVD it will boot the computer.  I think Apple Stores carry it, but you can also buy it directly from the vendor. I also don't use Lion OS so I don't know the details.  You may be able to get their download version and boot from your recovery partition, then run it without a DVD.

  • Javacard.framework not found error

    I am using this sws for my pc.
    java version "1.6.0_07"
    Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
    Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
    I tried to compile the Wallet.java for test purposes. But when I use javac Wallet.java , no package found error is given. These package is coming default, as i read from a article. ?????

    Dear Friend,
    What JDK you are using? Are you sure converter takes your OPT file?
    Yours sincerely
    Dmitri

  • Deleting multiple records using ibatis framework

    The code i am using is
    String deleteArray[ ] = request.getParameterValues("sel");
    String selected= " " ;
    if(deleteArray ! = null){
    for(int i = 0; i < deleteArray.length ; i++){
    selected += deleteArray [ i ];
    if( i < deleteArray.length - 1){
    selected += "," ;
    I am using sqlMapClient of ibatis for connecting to database
    sqlMapClient.delete("deleteMultipleRecords",selected);
    In my xml file i use
    <delete id="deleteMultipleRecords" parameterClass="java.lang.String">
    delete from ADDRESS where id in (#value#)
    </delete>
    When i execute the above code , the delete query is not executing.Can anyone help me out.

    I dont think so u can delete multiple recods with a sing line of querey.
    Why dont u use a for loop in DAO file and call the query with a single value ....

  • What about ISO/IEC-7816 file structure, Is this concept is not in jcard.

    Hello all,
    I read out ISO/IEC 7816-4 and it tell about MF , DF, EF files which are used in smart card, i am using java card.
    I am reading java card but i did not read about these file structure,
    according to iso/iec-7816-4 , A4 is a INS for SELECT FILE command. In scosta if i want to save name in smart card then i do
    *1*- create MF
    *2*-create Df ( INS- E0)
    *3*- create ef with record oriented structure(INS-E0)
    *4* run write record command (*INS-D2*)
    and now i can read this name whenever i want by using read record command.
    I only want to know that if i want to record several names in java card (in java card eeprom ) then which line i need to write inside the PROCESS () method of applet.
    -----------how i permanent save in smart card memory?
    -----------how i read the data from perticular location or the location where name exist?
    Thanks in advance..............
    Edited by: rohit pathak on Feb 9, 2012 10:41 PM
    Edited by: rohit pathak on Feb 9, 2012 10:42 PM

    if (selectingApplet())
                   return;
    // this method  is use to make a difference between select applet
    //apdu { have to call it before any apdu pass to card, this apdu is isolate to process method }
    //and other apdu { here class and INS is for your choice,
    // it depends how u implement it in process().amazing Umer, atleast for me really it's gr8 to have you here..
    you know i am a beginner so it is sure that there would be a no. of question in my mind now!!!!!and I want to share with you for your answer as well try to get it by my own, u already help me a lot , and i would
    be always thankful for this. I am posting some questions here, if you feel it is genuine question , pls reply and if
    you think i am bothering you to ask such a foolish question , u dont!!!!
    QUESTION -1
    As I know about architecture of any application is -
                    //normal java software                          java card                                  java card
                      //  1                                               2                                      3
    1-            application program                        host application                           host application
    2-                     JVM                                   Applets                                       Applets
    3-              operating system                JCRE(which contain all classes, JVM ....)                 JCRE(act as a O.S too)
    4                    hardware                              Operating system                                 H/W
    5                                                                        hardwareWhat do u think- case 2 is right? or 3 is!!!!!!!!!!!
    I think - case 3 is right!!!!
    As i study from several sources , JCRE is complete package - it behaves as a operation system and use the functionality of component it contain. I also think if i will purchase a java card from any vendor , it would have JCRE inside it (means everthing inside it,), i only need to develop the applet according to my requirement and install it by on card installer program
    QUESTION 2- what is the advantage of java card.?
    // I think.
    as i read out , i got the line that it is platform independent and support multiple application. applicaton point of
    view , I am agree but how it is platfrom independent. if we use java card for smart card development, then
    i will purchase Java card from differnt vendor , all will provide me card with supported jcre inside it, so why
    this is advantage here?
    // in case of window based application , it really make sense  because if i will make any window application with java
    // i can run it in windows , linux , unix and most of os flavours, here i can see the beauty of java language.
    Clear me this and add some other java card advantages, which make java card goodquestion 3-
    Now I am capaple to make simple applets, so I want to check the entire java card process atleast once before
    going in deep of something, I am thinking to implement prepaid card concept , i made it applet for it ,it will
    contain a page with 2 text box ( 1- for recharge 2- for money deduction ) and two button , with button click i
    want to select the applet and want to pass the apdu.
    ( a) how i can make host window application ? (i think awt will work for me? , *
    i never make any java window application yet) *
    ( b) still i dont have any java card , i want to make it by using simulator, is it possible?
      (c) in this scenario what framework i need to study Ex. Import javacard.framework.* for making
    applet or from where i need to start.regards:
    rohit pathak
    Edited by: rohit pathak on Feb 9, 2012 10:39 PM

  • JavaCard Memory

    I made a simple applet to test the speed of adding arrays, depending whether they are saved in EEPROM or RAM. Since working with variables stored in RAM should be faster, I was really surprised when I noticed no difference between them. I would really like to know where I went wrong, but simply can-t figure it out, so any help would be really appreciated. I used Eclipse 3.2 with JCOP Tools 3.1.1b and JCOP31 v2.2 JavaCard. The code I produced is:
    package test;
    import javacard.framework.APDU;
    import javacard.framework.ISO7816;
    import javacard.framework.Applet;
    import javacard.framework.ISOException;
    import javacard.framework.JCSystem;
    public class SimpleMemoryTest extends Applet {
         private static final short ARRAY_SIZE = 32;
         byte[] eeprom_a,  eeprom_b, eeprom_c;
         byte[] ram_a, ram_b, ram_c;
         short[] mem;
         private SimpleMemoryTest() {
              this.mem = new short[2];
         public static void install(byte[] bArray, short bOffset, byte bLength) {
              new SimpleMemoryTest().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
         public void process(APDU apdu) {
              if (selectingApplet()) return;
              byte[] buf = apdu.getBuffer();
              switch (buf[ISO7816.OFFSET_INS]) {
              case (byte) 0x00: { // Print memory info to verify where arrays are stored
                   mem[0] = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);
                   mem[1] = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);
                   buf[0] = (byte)(mem[0] / 256);
                   buf[1] = (byte)(mem[0] % 256);
                   buf[2] = (byte)(mem[1] / 256);
                   buf[3] = (byte)(mem[1] % 256);
                   apdu.setOutgoingAndSend((short)0, (short)4);
                   break;
              case (byte) 0x01: { // Put arrays in EEPROM.
                   this.eeprom_a = new byte[ARRAY_SIZE];
                   this.eeprom_b = new byte[ARRAY_SIZE];
                   this.eeprom_c = new byte[ARRAY_SIZE];
                   break;
              case (byte) 0x02: { // Put arrays in RAM.
                   this.ram_a = JCSystem.makeTransientByteArray(ARRAY_SIZE, JCSystem.CLEAR_ON_DESELECT);
                   this.ram_b = JCSystem.makeTransientByteArray(ARRAY_SIZE, JCSystem.CLEAR_ON_DESELECT);
                   this.ram_c = JCSystem.makeTransientByteArray(ARRAY_SIZE, JCSystem.CLEAR_ON_DESELECT);
                   break;
              case (byte) 0x03: { // Add arrays in EEPROM 100 times
                   short i, j;
                   for (i = (short) 0; i < (short) 100; i++) {
                        for (j = (short) 0; j < (short) ARRAY_SIZE; j++) {
                             eeprom_c[j] = (byte)(eeprom_a[j] + eeprom_b[j]);
                   break;
              case (byte) 0x04: { // Add arrays in RAM 100 times
                   short i, j;
                   for (i = (short) 0; i < (short) 100; i++) {
                        for (j = (short) 0; j < (short) ARRAY_SIZE; j++) {
                             ram_c[j] = (byte)(ram_a[j] + ram_b[j]);
                   break;
              default:
                   ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    }

    When you create a byte array, all values are initialized to 0. Looking at your loops, it seems you're adding 0's only. Smart card operating systems normally do a read before write, to make sure not the same value is written. It saves time, and in case of EEPROM also to prolong the lifetime. I think this is the reason why you see no difference .. because there is no writing. Do something like
    eeprom_c[j] = (byte)(i + j);
    Matjaz wrote:          case (byte) 0x03: { // Add arrays in EEPROM 100 times
                   short i, j;
                   for (i = (short) 0; i < (short) 100; i++) {
                        for (j = (short) 0; j < (short) ARRAY_SIZE; j++) {
                             eeprom_c[j] = (byte)(eeprom_a[j] + eeprom_b[j]);
                   break;
              case (byte) 0x04: { // Add arrays in RAM 100 times
                   short i, j;
                   for (i = (short) 0; i < (short) 100; i++) {
                        for (j = (short) 0; j < (short) ARRAY_SIZE; j++) {
                             ram_c[j] = (byte)(ram_a[j] + ram_b[j]);
                   break;

  • Passing a structure from Java to PL/SQL Procedure

    Environment: Oracle DB, Tomcat/Apache
    How do we pass a structure (Table Record Type) from Java to a PL/SQL Stored Procedure?
    We are doing JSP-->JavaClass/Bean to communicate to DB. We have an existing PL/SQL packages/Procedure to insert records into table (These procedures have record types as in/out parameters). So is there a way to call these from Java?
    Thanks in advance.
    Ramesh

    Oracle9 i JDBC Developers Guide and Reference(page 21-16):
    It is not feasible for Oracle JDBC drivers to support calling arguments or return
    values of the PL/SQL RECORD, BOOLEAN, or table with non-scalar element types.
    However, Oracle JDBC drivers support PL/SQL index-by table of scalar element
    types. For a complete description of this, see "Accessing PL/SQL Index-by Tables"
    on page 16-21.
    As a workaround to PL/SQL RECORD, BOOLEAN, or non-scalar table types, create
    wrapper procedures that handle the data as types supported by JDBC. For example,
    to wrap a stored procedure that uses PL/SQL booleans, create a stored procedure
    that takes a character or number from JDBC and passes it to the original procedure
    as BOOLEAN or, for an output parameter, accepts a BOOLEAN argument from the
    original procedure and passes it as a CHAR or NUMBER to JDBC. Similarly, to wrap a
    stored procedure that uses PL/SQL records, create a stored procedure that handles
    a record in its individual components (such as CHAR and NUMBER) or in a structured
    object type. To wrap a stored procedure that uses PL/SQL tables, break the data
    into components or perhaps use Oracle collection types.

  • Need help for SQL SELECT query to fetch XML records from Oracle tables having CLOB field

    Hello,
    I have a scenario wherein i need to fetch records from several oracle tables having CLOB fields(which is holding XML) and then merge them logically to form a hierarchy XML. All these tables are related with PK-FK relationship. This XML hierarchy is having 'OP' as top-most root node and ‘DE’ as it’s bottom-most node with One-To-Many relationship. Hence, Each OP can have multiple GM, Each GM can have multiple DM and so on.
    Table structures are mentioned below:
    OP:
    Name                             Null                    Type        
    OP_NBR                    NOT NULL      NUMBER(4)    (Primary Key)
    OP_DESC                                        VARCHAR2(50)
    OP_PAYLOD_XML                           CLOB       
    GM:
    Name                          Null                   Type        
    GM_NBR                  NOT NULL       NUMBER(4)    (Primary Key)
    GM_DESC                                       VARCHAR2(40)
    OP_NBR               NOT NULL          NUMBER(4)    (Foreign Key)
    GM_PAYLOD_XML                          CLOB   
    DM:
    Name                          Null                    Type        
    DM_NBR                  NOT NULL         NUMBER(4)    (Primary Key)
    DM_DESC                                         VARCHAR2(40)
    GM_NBR                  NOT NULL         NUMBER(4)    (Foreign Key)
    DM_PAYLOD_XML                            CLOB       
    DE:
    Name                          Null                    Type        
    DE_NBR                     NOT NULL           NUMBER(4)    (Primary Key)
    DE_DESC                   NOT NULL           VARCHAR2(40)
    DM_NBR                    NOT NULL           NUMBER(4)    (Foreign Key)
    DE_PAYLOD_XML                                CLOB    
    +++++++++++++++++++++++++++++++++++++++++++++++++++++
    SELECT
    j.op_nbr||'||'||j.op_desc||'||'||j.op_paylod_xml AS op_paylod_xml,
    i.gm_nbr||'||'||i.gm_desc||'||'||i.gm_paylod_xml AS gm_paylod_xml,
    h.dm_nbr||'||'||h.dm_desc||'||'||h.dm_paylod_xml AS dm_paylod_xml,
    g.de_nbr||'||'||g.de_desc||'||'||g.de_paylod_xml AS de_paylod_xml,
    FROM
    DE g, DM h, GM i, OP j
    WHERE
    h.dm_nbr = g.dm_nbr(+) and
    i.gm_nbr = h.gm_nbr(+) and
    j.op_nbr = i.op_nbr(+)
    +++++++++++++++++++++++++++++++++++++++++++++++++++++
    I am using above SQL select statement for fetching the XML records and this gives me all related xmls for each entity in a single record(OP, GM, DM. DE). Output of this SQL query is as below:
    Current O/P:
    <resultSet>
         <Record1>
              <OP_PAYLOD_XML1>
              <GM_PAYLOD_XML1>
              <DM_PAYLOD_XML1>
              <DE_PAYLOD_XML1>
         </Record1>
         <Record2>
              <OP_PAYLOD_XML2>
              <GM_PAYLOD_XML2>
              <DM_PAYLOD_XML2>
              <DE_PAYLOD_XML2>
         </Record2>
         <RecordN>
              <OP_PAYLOD_XMLN>
              <GM_PAYLOD_XMLN>
              <DM_PAYLOD_XMLN>
              <DE_PAYLOD_XMLN>
         </RecordN>
    </resultSet>
    Now i want to change my SQL query so that i get following output structure:
    <resultSet>
         <Record>
              <OP_PAYLOD_XML1>
              <GM_PAYLOD_XML1>
              <GM_PAYLOD_XML2> .......
              <GM_PAYLOD_XMLN>
              <DM_PAYLOD_XML1>
              <DM_PAYLOD_XML2> .......
              <DM_PAYLOD_XMLN>
              <DE_PAYLOD_XML1>
              <DE_PAYLOD_XML2> .......
              <DE_PAYLOD_XMLN>
         </Record>
         <Record>
              <OP_PAYLOD_XML2>
              <GM_PAYLOD_XML1'>
              <GM_PAYLOD_XML2'> .......
              <GM_PAYLOD_XMLN'>
              <DM_PAYLOD_XML1'>
              <DM_PAYLOD_XML2'> .......
              <DM_PAYLOD_XMLN'>
              <DE_PAYLOD_XML1'>
              <DE_PAYLOD_XML2'> .......
              <DE_PAYLOD_XMLN'>
         </Record>
    <resultSet>
    Appreciate your help in this regard!

    Hi,
    A few questions :
    How's your first query supposed to give you an XML output like you show ?
    Is there something you're not telling us?
    What's the content of, for example, <OP_PAYLOD_XML1> ?
    I don't think it's a good idea to embed the node level in the tag name, it would make much sense to expose that as an attribute.
    What's the db version BTW?

  • Conversion configuration error Unknown structure Header found in document

    Hi,
    we are having the following target structure according to that we need to generate a file.
    Output file sample format:
    ACODESXXXX0001581012011-03-2209.12.42WARRANTY CAUSE CODES FILE
    ACODESXXXX000158102CCCORROSION INSPECTION
    ACODESXXXX00015810255CAVITY, PINHOLE
    ACODESXXXX00015810256BAD MACHINING
    BCODESXXXX0001581012011-03-2209.12.42WARRANTY COMPLAINTS CODES FILE
    BCODESXXXX000158102NCNO CUSTOMER COMPLAINT
    BCODESXXXX000158102XPCONSIDERATION
    BCODESXXXX00015810299OTHER
    BCODESXXXX000158199000000131
    CCODESXXXX0001581012011-03-2209.12.42WARRANTY CIRCUMSTANCE CODES FILE
    CCODESXXXX000158102 BLANK
    CCODESXXXX000158102AAT ENGINE START
    CCODESXXXX000158102BWHEN WARMING-UP
    Target  Record Structure:
    DT_Codes
              Record
                        ACodes      
                               Header
                               Details
                               Trailer
                         Bcodes
                               Header
                               Details
                               Trailer
                         Ccodes
                               Header
                               Details
                               Trailer
                         TWRNTY
                               Header
                               Details
                               Trailer
    In receiver file adapter we have given following content conversion parameters
    Content conversion Parameters :
    Recordset Structure*: A_Code.Header,A_Code.Detail,A_Code.Trailer,B_Code.Header,B_Code.Detail,B_Code.Trailer,C_Code.Header,C_Code.Detail,C_Code.Trailer,
    Name                                                                                value
    A_Code.Header.filedFixedLengths               4,5,7,8,2,3,4
    A_Code.Detail.filedFixedLengths               4,5,2,8,9,3,2,7,8,9,3
    A_Code.Trailer.filedFixedLengths                  4,5,2,2,3,3,4
    B_Code.Header.filedFixedLengths               4,5,7,8,2,3,4
    B_Code.Detail.filedFixedLengths               4,5,2,8,9,3,2,7,8,9,10
    B_Code.Trailer.filedFixedLengths                  4,5,2,2,3,3,4
    C_Code.Header.filedFixedLengths               4,5,7,8,2,3,4
    C_Code.Detail.filedFixedLengths               4,5,2,8,9,3,2,7,8,9,10
    C_Code.Trailer.filedFixedLengths                  4,5,2,2,3,3,4
    Now we are getting error "Conversion configuration error Unknown structure Header found in document"
    Please suggest solution for the error.
    thank you,
    Praveen.

    your content conversion parameters seem to be wrong.
    Do refer;
    /people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion

  • Difference between changes in OM/PA infotype records

    Hi people,
    can you pls help me with one topic.
    Is there any way to diference changes infotype records between changes done by program upload (lsmw or custom programs) and manually via pa30/pa40.
    Can it be stored somewhere in the infotype structure that records are done by mass uploading.
    Thanks for ideas.
    Best regards,
    Romano

    Hello Romano,
    As mentioned in the earlier posts that all entries have a UNAME attached to it in the Infotypes which tell us the owner who marked/initiated the change.
    There are options to achieve the type of design which you want. Lets say we maintain a Custom Table which would store the UNAME , T-CODE and DATE fields.
    In the PA User Exits we develop the copy that in each PAI action update the Custom Table. It should solve your case.
    It is not a very staright forward solution , but it would serve your cause.
    Thanks & Regards,
    Rohit Sharma

Maybe you are looking for

  • Java.lang.NoSuchMethodError while running the Application on MI client

    Hi Experts During development I run my application through NWDS and worked perfect. But when I  run my application only through MI client. It through error on my programmed methods: java.lang.NoSuchMethodError: Any advice is highly appreciated! Micha

  • Error Distilling .PS in Acrobat X

    We are continuing to get errors to what I assume is importing/converting images. The complete log is desrcibe below. I see common errors when I was googling the issue but I could not find a resolution. Any addtional information would be greatly appre

  • Time Machine Back-Up vs Clone?

    I have been doing some research and have looked into the process of upgrading my hard drive. I have seen several methods, but the two I am having a hard time deciding between are cloning and using the latest back up on Time Machine to load the new ha

  • How to list all documents that has linked a image file?

    Hi everyone, I'd like to know if there's a way to find all linked file to a file: i have a logo image that a lot of inDesign files have linked to it and i'd like to find all those inDesign files. I know that Bridge CS6 can list all linked files of a

  • Closing by external files

    Hello there, we got a new problem with our InDesign CS5. Since some weeks, when we open external files (send by mail or from a portable device) and want to close them (only this window), the full program gets closed. No crash-report, nothing. If we u