Jumping to a "record number"

Is there a way to specify this in a JNDI search against an ADAM ldap object store:
Given a sort by uid field.
Go to the 40th record, and return the next 10 objects?
I don't want to have to retrieve all the records, just skip to the 40th and then grab only those ten.

I want to page records to a JSF/RichFaces control that supports a serializable row key. My ADAM key is uid, a unique text string.
I looked at the PagedResultsControl and as I understand it, it can request a large resultset, but caches the result on the (ADAM/ldap?) server until the "page" is requested.
However, what I don't understand is whether I can ask for a specific page.
As in, set up pages with 10 rows each. Can I then request the records from Page 5 ( records 40 to 49) ?
An alternative which I just read about is using ADAM's "range" attribute...so I would request the whole objectset -- but set a range of say, 600 to 609 as the records returned.

Similar Messages

  • Cursor Jumping to last record when query mode for Multi-record block.

    I have a multi-record block. the seq field has this validation to check that there should not be a gap
    in sequence for S_type and cer_dl field.The program unit is as below.
    PROCEDURE seq_validation IS
    --Validation to check that there is no gaps in sequence for S_TYPE and cer_dl fields
    l_value_to_check varchar2(100);
    l_seq_found number;
    l_curr_sequence number;
    l_new_value varchar2(100);
    l_found boolean:=FALSE;
    l_new_set boolean := FALSE; --s_type and cer_dl are different from previous set.
    begin
    if trim(:b1.s_type) is not null
    or trim(:b1.cer_dl) is not null
    then
    -- Program continues here only if all the items are not null
    -- Get information from record that needs to be validated
    l_value_to_check := trim(:b1.s_type) || ':'|| trim(:b1.cer_dl) ;
    l_curr_sequence := :sequence;
    if :SYSTEM.CURSOR_RECORD = '1' then
    ---to check sequence is entered as 1 in the first record
    message('Error:Sequence should start with 1');
    raise form_trigger_failure;
    end if;
    go_item('b1.XYZ');
    else
    FIRST_RECORD;
    while :SYSTEM.LAST_RECORD != 'TRUE'
    loop
    l_found := FALSE;
    l_new_value := trim(:b1.S_type) || ':'|| trim(:cer_dl) ;
    if l_new_value = l_value_to_check then --
    l_new_set:= FALSE;
    l_seq_found := :seq;
    if l_seq_found >= l_curr_sequence then
    go_item('b1.seq');
    l_new_set := FALSE;
    elsif l_seq_found < l_curr_sequence - 1 then
    go_item('b1.sequence');
    l_found := FALSE;
    elsif l_seq_found = l_curr_sequence - 1 then
    l_found:= TRUE;
    go_item('b1.xyz); --go to next item
    end if;
    else
    l_new_set := TRUE;
    end if;
    NEXT_RECORD;
    end loop;
    if l_new_set then
    go_item('b1.xyz'); -- go to next item
    else
    if not l_found then
    message('Error:Sequence should be in order.');
    go_item('b1.seq');
    raise form_trigger_failure;
    end if;
    end if;
    go_item('b1.xyz'); ---go to next item
    end if;
    end if;
    end;     
    In the insert mode its working fine(unless you gurus feel to change to make it more perfect.
    When I say enter-query and put 'IAS' in the s_type field and then do a execute query it brings all the records of 'IAS'.
    Now as I want to update the records, and when I navigate across field(s_type,cer_dl,Seq,xyz) using tab and move the cursor down on second
    record(IAS N 2 N), what happens is when I navigate to sequence field the cursor jumps to LAST RECORD( IAS Y 3 N ) of LAST field XYZ.
    I am putting the sample record
    s_type cer_dl seq xyz
    IAS N 1 N
    IAS N 2 N
    IAS N 3 N
    IAS N 4 N
    IAS Y 1 N
    IAS Y 2 N
    IAS Y 3 N
    The cursor moves to last record --IAS -Y -3-N when I tab across the second record.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    When I say enter-query and put 'IAS' in the s_type field...For your validation to work you must not allow users to enter records in the middle of a block, clear records from the block or query specific records. If you allow the users to enter a query then you are allowing 2 of the rules to be broken.

  • How can i get the tax code from Condition record number

    Hi all,
    i have the Condition record number from which i have to get the tax code as i looked inthe KNOP that Condition record number there but no tax code is maintained there.
    so is there any other way to find the tax code for particular Condition record number
    Regards
    suresh

    hi suresh,
    can u tell me the field name for condition record number and in which table it is stored.
    because i knew one condition number which is stored in table EKKO and the field name is
    KNUMV- Number of the document condition.
    from ekko take relevant details and look for  ekpo where u find the tax code
    filed name of the tax code id MWSKZ- Tax on sales/purchases code

  • How to get the Data Record Number in BI 7.0?

    Hi All,
    In our requirement we need to load the Data Record Number in the DSO. I got the Request ID and Data Packet Number but not the Data Record Number.
    Does anyone has any idea?

    Hi......
    When the data is activated in DSO, it is written to the table of active data, where it is then available for reporting. Requests are sorted by the key of the DataStore object, request ID, data package ID, or data record number.
    You just load the data to the DSO.....and activate it.......it will autometically get generated.......You cannot load it from one DSO to other beacuse in this case Change log table is used........and this filed is in active table..........I think you need this fir reporting purpose.....so load it and activate the DSO......then it will be available in your active table for reporting.........because reporting is done on active table.......
    Check this link :
    http://help.sap.com/saphelp_nw04s/helpdata/en/a9/49453cabf4ef6fe10000000a114084/frameset.htm
    Hope this helps you....
    Regards,
    Debjani....
    Edited by: Debjani  Mukherjee on Sep 16, 2008 5:22 PM
    Edited by: Debjani  Mukherjee on Sep 16, 2008 5:25 PM

  • Modify Record Number in a Random Access File

    Hi Does anyone know if I can modify the record number in the random access file hardware.dat for each hardware record each time and update it in hardware.dat to display it? Also why does it say "Record does not exist" if I modify the record number for a hardware and try to update it but could not find that record?
    Here is the code below:
    // Exercise 14.11: HardwareRecord.java
    package org.egan; // packaged for reuse
    public class HardwareRecord
      private int recordNumber;
      private String toolName;
      private int quantity;
      private double cost;
      // no-argument constructor calls other constructor with default values
      public HardwareRecord()
        this(0,"",0,0.0); // call four-argument constructor
      } // end no-argument HardwareRecord constructor
      // initialize a record
      public HardwareRecord(int number, String tool, int amount, double price)
        setRecordNumber(number);
        setToolName(tool);
        setQuantity(amount);
        setCost(price);
      } // end four-argument HardwareRecord constructor
      // set record number
      public void setRecordNumber(int number)
        recordNumber = number;
      } // end method setRecordNumber
      // get record number
      public int getRecordNumber()
        return recordNumber;
      } // end method getRecordNumber
      // set tool name
      public void setToolName(String tool)
        toolName = tool;
      } // end method setToolName
      // get tool name
      public String getToolName()
        return toolName;
      } // end method getToolName
      // set quantity
      public void setQuantity(int amount)
        quantity = amount;
      } // end method setQuantity
      // get quantity
      public int getQuantity()
        return quantity;
      } // end method getQuantity
      // set cost
      public void setCost(double price)
        cost = price;
      } // end method setCost
      // get cost
      public double getCost()
        return cost;
      } // end method getCost
    } // end class HardwareRecord-------------------------------------------------------------------------------------------------
    // Exercise 14.11: RandomAccessHardwareRecord.java
    // Subclass of HardwareRecord for random-access file programs.
    package org.egan; // package for reuse
    import java.io.RandomAccessFile;
    import java.io.IOException;
    public class RandomAccessHardwareRecord extends HardwareRecord
      public static final int SIZE = 46;
      // no-argument constructor calls other constructor with default values
      public RandomAccessHardwareRecord()
        this(0,"",0,0.0);
      } // end no-argument RandomAccessHardwareRecord constructor
      // initialize a RandomAccessHardwareRecord
      public RandomAccessHardwareRecord(int number, String tool, int amount, double price)
        super(number,tool,amount,price);
      } // end four-argument RandomAccessHardwareRecord constructor
      // read a record from a specified RandomAccessFile
      public void read(RandomAccessFile file) throws IOException
        setRecordNumber(file.readInt());
        setToolName(readName(file));
        setQuantity(file.readInt());
        setCost(file.readDouble());
      } // end method read
      // ensure that name is proper length
      private String readName(RandomAccessFile file) throws IOException
        char name[] = new char[15], temp;
        for(int count = 0; count < name.length; count++)
          temp = file.readChar();
          name[count] = temp;
        } // end for
        return new String(name).replace('\0',' ');
      } // end method readName
      // write a record to specified RandomAccessFile
      public void write(RandomAccessFile file) throws IOException
        file.writeInt(getRecordNumber());
        writeName(file, getToolName());
        file.writeInt(getQuantity());
        file.writeDouble(getCost());
      } // end method write
      // write a name to file; maximum of 15 characters
      private void writeName(RandomAccessFile file, String name) throws IOException
        StringBuffer buffer = null;
        if (name != null)
          buffer = new StringBuffer(name);
        else
          buffer = new StringBuffer(15);
        buffer.setLength(15);
        file.writeChars(buffer.toString());
      } // end method writeName
    } // end RandomAccessHardwareRecord-------------------------------------------------------------------------------------------------
    // Exercise 14.11: CreateRandomFile.java
    // creates random-access file by writing 100 empty records to disk.
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import org.egan.RandomAccessHardwareRecord;
    public class CreateRandomFile
      private static final int NUMBER_RECORDS = 100;
      // enable user to select file to open
      public void createFile()
        RandomAccessFile file = null;
        try  // open file for reading and writing
          file = new RandomAccessFile("hardware.dat","rw");
          RandomAccessHardwareRecord blankRecord = new RandomAccessHardwareRecord();
          // write 100 blank records
          for (int count = 0; count < NUMBER_RECORDS; count++)
            blankRecord.write(file);
          // display message that file was created
          System.out.println("Created file hardware.dat.");
          System.exit(0);  // terminate program
        } // end try
        catch (IOException ioException)
          System.err.println("Error processing file.");
          System.exit(1);
        } // end catch
        finally
          try
            if (file != null)
              file.close();  // close file
          } // end try
          catch (IOException ioException)
            System.err.println("Error closing file.");
            System.exit(1);
          } // end catch
        } // end finally
      } // end method createFile
    } // end class CreateRandomFile-------------------------------------------------------------------------------------------------
    // Exercise 14.11: CreateRandomFileTest.java
    // Testing class CreateRandomFile
    public class CreateRandomFileTest
       // main method begins program execution
       public static void main( String args[] )
         CreateRandomFile application = new CreateRandomFile();
         application.createFile();
       } // end main
    } // end class CreateRandomFileTest-------------------------------------------------------------------------------------------------
    // Exercise 14.11: MenuOption.java
    // Defines an enum type for the hardware credit inquiry program's options.
    public enum MenuOption
      // declare contents of enum type
      PRINT(1),
      UPDATE(2),
      NEW(3),
      DELETE(4),
      END(5);
      private final int value; // current menu option
      MenuOption(int valueOption)
        value = valueOption;
      } // end MenuOptions enum constructor
      public int getValue()
        return value;
      } // end method getValue
    } // end enum MenuOption-------------------------------------------------------------------------------------------------
    // Exercise 14.11: FileEditor.java
    // This class declares methods that manipulate hardware account records
    // in a random access file.
    import java.io.EOFException;
    import java.io.File;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.util.Scanner;
    import org.egan.RandomAccessHardwareRecord;
    public class FileEditor
      RandomAccessFile file; // reference to the file
      Scanner input = new Scanner(System.in);
      // open the file
      public FileEditor(String fileName) throws IOException
        file = new RandomAccessFile(fileName, "rw");
      } // end FileEditor constructor
      // close the file
      public void closeFile() throws IOException
        if (file != null)
          file.close();
      } // end method closeFile
      // get a record from the file
      public RandomAccessHardwareRecord getRecord(int recordNumber)
         throws IllegalArgumentException, NumberFormatException, IOException
        RandomAccessHardwareRecord record = new RandomAccessHardwareRecord();
        if (recordNumber < 1 || recordNumber > 100)
          throw new IllegalArgumentException("Out of range");
        // seek appropriate record in a file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        record.read(file);
        return record;
      } // end method getRecord
      // update record tool name in file
      public void updateRecordToolName(int recordNumber, String newToolName)
         throws IllegalArgumentException, IOException
        RandomAccessHardwareRecord record = getRecord(recordNumber);
        if (record.getRecordNumber() == 0)
          throw new IllegalArgumentException("Record does not exist");
        // seek appropriate record in file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        record.setToolName(newToolName);
        record = new RandomAccessHardwareRecord(
           record.getRecordNumber(), record.getToolName(), record.getQuantity(), record.getCost());
        record.write(file); // write updated record to file
      } // end method updateRecordToolName
      // update record in file
      public void updateRecordQuantity(int recordNumber, int newQuantity)
         throws IllegalArgumentException, IOException
        RandomAccessHardwareRecord record = getRecord(recordNumber);
        if (record.getRecordNumber() == 0)
          throw new IllegalArgumentException("Record does not exist");
        // seek appropriate record in file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        record.setQuantity(newQuantity);
        record = new RandomAccessHardwareRecord(
           record.getRecordNumber(), record.getToolName(), record.getQuantity(), record.getCost());
        record.write(file); // write updated record to file
      } // end method updateRecordQuantity
      // update record in file
      public void updateRecordCost(int recordNumber, double newCost)
         throws IllegalArgumentException, IOException
        RandomAccessHardwareRecord record = getRecord(recordNumber);
        if (record.getRecordNumber() == 0)
          throw new IllegalArgumentException("Record does not exist");
        // seek appropriate record in file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        record.setCost(newCost);
        record = new RandomAccessHardwareRecord(
           record.getRecordNumber(), record.getToolName(), record.getQuantity(), record.getCost());
        record.write(file); // write updated record to file
      } // end method updateRecordCost
      // add record to file
      public void newRecord(int recordNumber, String toolName, int quantity, double cost)
         throws IllegalArgumentException, IOException
        RandomAccessHardwareRecord record = getRecord(recordNumber);
        if (record.getRecordNumber() != 0)
          throw new IllegalArgumentException("Record already exists");
        // seek appropriate record in file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        record = new RandomAccessHardwareRecord(recordNumber, toolName, quantity, cost);
        record.write(file); // write record to file
      } // end method newRecord
      // delete record from file
      public void deleteRecord(int recordNumber) throws IllegalArgumentException, IOException
        RandomAccessHardwareRecord record = getRecord(recordNumber);
        if (record.getRecordNumber() == 0)
          throw new IllegalArgumentException("Account does not exist");
        // seek appropriate record in file
        file.seek((recordNumber - 1) * RandomAccessHardwareRecord.SIZE);
        // create a blank record to write to the file
        record = new RandomAccessHardwareRecord();
        record.write(file);
      } // end method deleteRecord
      // read and display records
      public void readRecords()
        RandomAccessHardwareRecord record = new RandomAccessHardwareRecord();
        System.out.printf("%-10s%-15s%-15s%10s\n","Record","Tool Name","Quantity","Cost");
        try  // read a record and display
          file.seek(0);
          while (true)
            do
              record.read(file);
            while (record.getRecordNumber() == 0);
            // display record contents
            System.out.printf("%-10d%-15s%-15d%10.2f\n",record.getRecordNumber(),
               record.getToolName(), record.getQuantity(), record.getCost());
          } // end while
        } // end try
        catch (EOFException eofException)  // close file
          return;  // end of file was reached
        } // end catch
        catch (IOException ioException)
          System.err.println("Error reading file.");
          System.exit(1);
        } // end catch
      } // end method readRecords
    } // end class FileEditor-------------------------------------------------------------------------------------------------
    // Exercise 14.11: TransactionProcessor.java
    // A transaction processing program using random-access files.
    import java.io.IOException;
    import java.util.NoSuchElementException;
    import java.util.Scanner;
    import org.egan.RandomAccessHardwareRecord;
    public class TransactionProcessor
      private FileEditor dataFile;
      private RandomAccessHardwareRecord record;
      private MenuOption choices[] = {MenuOption.PRINT, MenuOption.UPDATE, MenuOption.NEW,
              MenuOption.DELETE, MenuOption.END};
      private Scanner input = new Scanner(System.in);
      // get the file name and open the file
      private boolean openFile()
        try // attempt to open file
          // call the helper method to open the file
          dataFile = new FileEditor("hardware.dat");
        } // end try
        catch (IOException ioException)
          System.err.println("Error opening file.");
          return false;
        } // end catch
        return true;
      } // end method openFile
      // close file and terminate application
      private void closeFile()
        try // close file
          dataFile.closeFile();
        } // end try
        catch (IOException ioException)
          System.err.println("Error closing file.");
          System.exit(1);
        } // end catch
      } // end method closeFile
      // create, update or delete the record
      private void performAction(MenuOption action)
        int recordNumber = 0;  // record number of record
        String toolName;       // tool name of the hardware instrument
        int quantity;          // total amount of items
        double cost;           // hareware tool price
        int choice;            // choose an update option   
        int newRecordNumber;   // the updated record number
        String newToolName;    // the updated tool name
        int newQuantity;       // the updated quantity
        double newCost;        // the updated cost
        try // attempt to manipulate files based on option selected
          switch(action) // switch based on option selected
            case PRINT:
              System.out.println();
              dataFile.readRecords();
              break;
            case NEW:
              System.out.printf("\n%s%s\n%s\n%s","Enter record number,",
                "tool name, quantity, and cost.","(Record number must be 1 - 100)","? ");
              recordNumber = input.nextInt();  // read record number       
              toolName = input.next();         // read tool name
              quantity = input.nextInt();      // read quantity
              cost = input.nextDouble();       // read cost
              dataFile.newRecord(recordNumber, toolName, quantity, cost); // create new record
              break;
            case UPDATE:
              System.out.print("\nEnter record number to update (1 - 100): ");
              recordNumber = input.nextInt();
              record = dataFile.getRecord(recordNumber);
              if (record.getRecordNumber() == 0)
                System.out.println("Record does not exist.");
              else
                // display record contents
                System.out.printf("%-10d%-12s%-12d%10.2f\n\n", record.getRecordNumber(),
                   record.getToolName(), record.getQuantity(), record.getCost());
                System.out.printf("%s%s","\nEnter 1 to update tool name, ",
                  "2 to update quantity, or 3 to update cost : ");
                choice = input.nextInt();
                if (choice == 1)
                  System.out.print("Enter new record tool name : ");
                  newToolName = input.next();
                  dataFile.updateRecordToolName(recordNumber,newToolName); // update record
                                                                           // tool name            
                  // retrieve updated record
                  record = dataFile.getRecord(recordNumber);
                  // display updated record
                  System.out.printf("%-10d%-12s%-12d%10.2f\n", record.getRecordNumber(),
                     record.getToolName(), record.getQuantity(), record.getCost());
                else if (choice == 2)
                  System.out.print("Enter new record quantity : ");
                  newQuantity = input.nextInt();
                  dataFile.updateRecordQuantity(recordNumber,newQuantity); // update record
                                                                           // quantity             
                  // retrieve updated record
                  record = dataFile.getRecord(recordNumber);
                  // display updated record
                  System.out.printf("%-10d%-12s%-12d%10.2f\n", record.getRecordNumber(),
                     record.getToolName(), record.getQuantity(), record.getCost());
                else if (choice == 3)
                  System.out.print("Enter new record cost : ");
                  newCost = input.nextDouble();
                  dataFile.updateRecordCost(recordNumber,newCost); // update record cost            
                  // retrieve updated record
                  record = dataFile.getRecord(recordNumber);
                  // display updated record
                  System.out.printf("%-10d%-12s%-12d%10.2f\n", record.getRecordNumber(),
                     record.getToolName(), record.getQuantity(), record.getCost());
              } // end else     
              break;
            case DELETE:
              System.out.print("\nEnter an account to delete ( 1 - 100): ");
              recordNumber = input.nextInt();
              dataFile.deleteRecord(recordNumber);  // delete record
              break;
            default:
              System.out.println("Invalid action.");
              break;
          } // end switch
        } // end try
        catch (NumberFormatException format)
          System.err.println("Bad input.");
        } // end catch
        catch (IllegalArgumentException badRecord)
          System.err.println(badRecord.getMessage());
        } // end catch
        catch (IOException ioException)
          System.err.println("Error writing to the file.");
        } // end catch
        catch (NoSuchElementException elementException)
          System.err.println("Invalid input. Please try again.");
          input.nextLine();
        } // end catch
      } // end method performAction
      // enable user to input menu choice
      private MenuOption enterChoice()
        int menuChoice = 1;
        // display available options
        System.out.printf("\n%s\n%s\n%s\n%s\n%s\n%s","Enter your choice",
         "1 - List hardware records", "2 - Update a hardware record",
         "3 - Add a new hardware record", "4 - Delete a hardware record", "5 - End program\n?");
        try
          menuChoice = input.nextInt();
        catch (NoSuchElementException elementException)
          System.err.println("Invalid input.");
          System.exit(1);
        } // end catch
        return choices[menuChoice - 1];  // return choice from user
      } // end enterChoice
      public void processRequests()
        openFile();
        // get user's request
        MenuOption choice = enterChoice();
        while (choice != MenuOption.END)
          performAction(choice);
          choice = enterChoice();
        } // end while
        closeFile();
      } // end method processRequests
    } // end class TransactionProcessor-------------------------------------------------------------------------------------------------
    // Exercise 14.11: TransactionProcessorTest.java
    // Testing the transaction processor.
    public class TransactionProcessorTest
      public static void main(String args[])
         TransactionProcessor application = new TransactionProcessor();
         application.processRequests();
      } // end main
    } // end class TransactionProcessorTest-------------------------------------------------------------------------------------------------
    Below is the sample data to be entered into the random input file hardware.dat :
    Record                     Tool                        Quantity                Cost
    Number                   Name                
       3                      Sander                    18                         35.99
      19                      Hammer                128                      10.00
      26                      Jigsaw                   16                        14.25
      39                      Mower                    10                        79.50
      56                      Saw                        8                          89.99
      76                      Screwdriver            236                      4.99
      81                      Sledgehammer       32                        19.75
      88                      Wrench                      65                        6.48Message was edited by:
    egan128
    Message was edited by:
    egan128
    Message was edited by:
    egan128

    Hi Does anyone know if I can modify the record number
    in the random access file hardware.dat for each
    hardware record each time and update it in
    hardware.dat to display it?If the "record number" is data that is stored in the file, then you can modify it. More precisely: it is possible to modify it.
    The rest of the question had too many incompatible verbs for me to understand it.
    Also why does it say
    "Record does not exist" if I modify the record number
    for a hardware and try to update it but could not
    find that record?"Record does not exist" is a fairly reasonable error message for the situation where a program looks for a record but cannot find it. Are you asking why that particular lump of code actually does that?
    (One thousand lines of code removed)

  • Identify record number being processed in Custom Integrator?

    Hi gurus,
    We have developed a custom integrator using a PL/SQL packaged procedure as the interface. Inside this package we insert into a custom table.
    We are on Oracle Financials 11.5.10.2.
    The custom table is located in a custom schema called CGL.
    Our requirement is to perform some validation in the database package when the Web ADI infrastructure is processing the first row in the excel spreadsheet that the user is using to upload data.
    We have a header row with the following columns.
    Source System
    Feeder System
    Version Number
    When the user chooses Oracle => Upload option from the Excel menu, we have to validate that the Version Number is valid i.e. we have to validate that the previous version of the file for the Source System and Feeder System combination has been successfully processed by the subsequent programs before the user is allowed to upload the next version of the file for this combination.
    Our requirement is to perform the validation when row number 1 is being processed. However, I have not been able to find any documentation that allows us to identify the record number in PL/SQL.
    Alternately, is there an environment variable or some other way to populate row numbers in excel spreadsheets being downloaded using the template so it can be passed to the package and used to identify the row being processed.
    Any help in this regard will be greatly appreciated.
    Venkat

    Hi Venkat,
    Would you give a try with the following option:
    Define a column in your layout, and set the default type to formula and enter an excel formula like
    =IF(ISBLANK(C7);"";ROW()-ROW($B$6))
    This function should put a number into the column and it should start with one, followed by 2,3 etc. The 7,C,B,6 needs to be set according your layout. I hope you can manage this.
    Assuming your sheet has 100 lines, you shall have then a 1-100 in this column. I would secure this column, read only flag in the layout.
    Any further explanation needed? Just replay here.
    br, Volker

  • PO item Condition Record number and delivery address of PO - Need a table n

    Hello Experts,
    I need some help as I have searched enough but did not find any solution.
    I need a table name where I can find Condition Record number for PO line item.
    As I have to create a new PO Layout in which I have to mention each & every condition type with value for line item.
    I need to know one more thing that from which table I will get delivery address number so on the basis of that I can read entries from table ADRC.
    Thanks in advance.
    Bhagat

    HI,
    The First Question is regarding the PO Conditions.
    For Extracting the same. we have to Go to The Table EKKI and in this table pass the PO Number and after entering the PO NUmber ,at each item level we will have a condition record number KNUMV created,
    collect the condition record number and pass the value in KONV table ,in that table we will get all the conditions and its values maintained.
    The second question is the delivery Address
    the Delivey address comes from four ways
    Plant
    EKPO -Pass PO NUmber - collect the plant and pass in table T001W  to get the address number
    and pass the address number to ADRC table
    Customer (third party)
    IN table EKPO -collect the customer Number-KUNNR and pass that value to KNA1 table and then get the address number and then get the address from ADRC table.
    Direct address number ( created by t code MEAN- Type ME01)
    This adress number-ADRNR can be taken from EKPO table and pass this value to adrc table to get the address.
    Vendor ( subcontracting)
    In this IN EKPO we will have the vendor field -LIFNR and this field collect the vendor number and pass in LFA1 and get the address number and then pass the address number to ADRC table
    If in EKPO,the address number and customer vendor field are blank then it picked from the plant and we have to default the Plant Address
    Hope so it helps
    Regards
    Anjanna.

  • Vendor Master Record number ranges

    Hi,
    We have one requirement . At present my client is maintaining the vendor master record number ranges with 4 digits. Ex. 0001 to 9999
    His present requirement is that to maintain the number ranges with 4 digits .ex. 00001 to 99999. They want this should apply even to existing records. Ex: Old number 2345 , they want the present number should be 02345.
    Request you to please help in resolving the issue. Thanks in advance for the help. Matter is urgent
    Thanks
    D.K.Lakshmi narayana

    Hello Lakshmi,
    It seems to me these are your alternatives.
    1) For each old vendor in the 4-digit scheme, create a new vendor master record in the 5-digit scheme with the leading zero. Then, transfer all open documents/master records (invoices, purchase orders, info records, etc.) from the old vendor to the new vendor. Then, block the old vendor.
    2) Same as previous except instead of changing all open documents, only change the master data (e.g., info records or long term contracts or agreements) to the new vendor master record and continue to use the old vendor master record until the open documents are closed. Then, block the old vendor master record.
    I think option 2 will be the "safer" choice. Plus, for reporting, you will probably need to continue using both vendor numbers for a while.
    Maybe someone else has an easier way...
    Cheers,
    Larry

  • Why is records number  different?

    Hi expert,
    I have loaded R/3 GL data into a cube(0FIGL_C01) successful. But one thing confused me very much which is: the transfered and added records' number is different. In my case, transfered records are 117991, but the added are 87929. I have checked the detail message in Monitor, where the data deduction of update to cube took place after update rule, before the update rule all the data number are same( the system generated 2 data packages for this single request, in each packge the different records number added to cube with transfered happened just after the update rule), this means something happened in update rule, right? but I checked the update rule, there's no any routine exist. So could you please tell me what does any operations cause this result?

    Hi Paolo,
    Thank you very much for your reply. In my understanding of your explanation, if Chars in a cube for example: company code, business area, G/L account, currency type, fiscal year, fiscal year/period, and KFs like Total Debit Postings,Total credit postings, Cumulative Balance. If two records from R/3 which all the chars are same, then only one record will be keeped in the cube but the value of KFs will be added. Am I correct? But if somehow, someone load the data(Full load) one more time, what will be the result?
    thank you in advance
    Message was edited by:
            Ryan Zhang

  • Finding CRM Order number from Interaction Record number

    In our scenario when a CRM Order is created, an interaction record also gets simultaneously created. If I want to find out the Order number based on the corresponding interaction record number, how will I achieve it through linking tables?

    Hi,
    Use FM CRM_ORDER_READ and check ET_DOC_FLOW.
    Hope this helps!
    Best regards,
    Caíque Escaler

  • XD02 : Previous Master Record Number

    Hi,
    in the customer master data we have this field : "Previous Master Record Number" (KNB1-ALTKN)
    here we can enter only one number, is there any possibility to enter more than one number in this field ?
    because for each customer i have two or three previous number !
    Please advise.
    Regards.

    Hi,
    It is a free field of length 10 digits. You can either manage to input all the numbers in that 10 digits or you can increase the field space in the table.
    Regards,
    Mike

  • Unable to link Condition record number with prices maintained in APO

    Hi Guru's,
    I need to understand how and where can i see the details of a condition record number maintained in KONP table and use this cond rec to fetch the exact details for a material and customer.
    I am a APO consultant, not SD. My SD teams reply that their is some conversion logic written in ABAP which automatically calculates the mat-cust prices. This got me confused.
    What is this cond record nu and do we maintain this specifically for 1 product/location or it is for prod-loc combination or separately and later it maps the prod-loc combination as required (how)?
    Can you please explain how we maintain prices in ECC, in very simple language?
    Thanks in advance.

    HI
    I think you tax VK stand for SD for you check it once again FTXP
    Regards
    Kailas Ugale

  • Table having  info record no(infnr) and condition record number (knumh)

    Hi ,
      can anyone tell in which table i can find KNUMH and INFNR fields ?
    i want to check a PIR record number having scale qty in it
    for dat i require wat is the condition rec number ??
    thanks and regards
    venkat
    Edited by: venkat sharma gaddala on Jun 3, 2009 2:20 PM

    Hi Nicole,
       yes , wat u said is right but wen u do ME11 transaction
    in dat conditions tab we we get into screen where we will be filling scale qty for a condition
    this might be stored in one of the condition tables with certain condition number.
    now i want to check the PIR which are having [ scale qty NE 0 ]
    so wer do i check
    if i go to EINA or EINE table these tables dont have scale qty fields.

  • Duplicate Condition Record Number !

    Hi Experts,
    I have a question on condition record number:
    I have a Material SH00001 in  more than one Sales Orgs. Example: MTD and NTD.
    1. Is it possible SAP generates the same condition record number (field- KNUMH) for both sales organisation when I created two records separately at VK11 for each sales orgs for price?
    2. Is it possible SAP automatically generates two condition record numbers when I create a ccondition record at  VK11 (for price )
    for a material SH00001 for a sales org MTD for two unit of measures. (e.g PC and KG)
    3. Is it possible SAP automatically generates two condition record numbers when I change a ccondition record at  VK12 (for price )for a material SH00001 for a sales org MTD from one unit of measure KG to PC??
    Thanks

    Hi
    For one condition record in VK11, system will create one number. And if your are creating new record with slight difference, new number will generate.
    Conclusion, no two condition records can have same number.
    Secondly, if you change record in VK12, record number will not change.

  • Condition record number issue

    Hi,
    I have a situation where in a SA with LP agreement type, one item has 3 conditions PB00 for different periods.
    Valid from      Valid    
    Valid from
    valid to
    Price
    01.01.2013
    01.02.2013
    10
    02.02.2013
    01.03.2013
    11
    02.03.2013
    31.12.9999
    10
    Now in A016
    Rows 1 and 3 have the SAME Condition record number, So changing Price in row one automatically changes row 3. How can this be resolved?
    Thanks.
    Richard
    Message was edited by: Ajay Richard

    Hi Raghavendra,
    I do not have access to the this particular system!! so is this normal procedure what the SS shows. So basically if the price on the future validity period is changed the old/past validity is automatically updated? But why is there a link between the two. If you see the screenshot the other 2 validity periods have a different condition record number.
    This is unrelated to prev question but on my client I see that in the SA I can only give one validuty period per item level. How do I enter multiple validity periods with different prices in a SA for one live item? The "Change gross condition  PB00 validity Period" : All fields are greyed out.
    Thanks.
    Message was edited by: Ajay Richard

Maybe you are looking for

  • Vendor Payments code examlpes

    Hi, Does anyone have code examples I can use to generate a vendor payment from outgoing payments? I am trying to automate the creation of a check when the user finishes making an outgoing payment. I need to assign the check number and create the chec

  • OneNote not showing some images

    On some pages, screenshots, which have been inserted with OneNote 2010 are not shown in OneNote 2013. I only see a frame with a red X in it. Other users with the 2010 version still see the screenshot. Any ideas?

  • Help me restore my iMac please.

    Okay there is something seriously wrong with my iMac and I don't have any type of support left from Apple. My iMac has been running really slow lately and even freezing when just having Firefox and iTunes open it's ridiculous. I'm trying to just rest

  • Building a dll with labview for CVI

    Hi, I am making some abstract hardware layers for some instruments and i use to work with Labwindows CVI. But i have found ONE instrument, the Instek pst3201 alimentation which is ONLY created with Labview. So i downloaded the 8.6 LV demo and builded

  • SOAP sender adapter with  client authentication

    Hi, Can you please tell me the steps to be followed to configure SOAP sender adpater for HTTPS with client authentication. Thanks