How to add comments in IP so that no multiple lines are created?

Hi,
I have a problem with adding free text in IP. I'm using this How-to guide:
How to Flexibly Change Characteristic Values and Comments in BI Integrated Planning
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10d2b273-0e12-2c10-fab3-a34bde559f92
Using this method creates lines with zeros.
I need to create an input ready query with only one single line, let's say a single selected co-order. When the user opens this query the inputready line may be empty or it may have already have some values that an other user has saved earlier for that line. Now, the user needs to be able to add free text as a comment for the line. However, if there already exist a value with an added comment then the user should see it here. So the problem is that the user does not know if there already exists a comment for the line when he opens the query. How can I create a query in such a way that only the line with the latest comment (or it there are no comments then an empty line) is shown?
Br,
Aino Tuominen

I hope you are modelling comments as per the how-to-guide. In this document, its shown as Comment is an IO with no-master data and free text field used as transaction data in info cube. And we are using repost method to modify comments.
So when you add a new row, either the new row will have comment field as blank and you enter some comment for that row in the input box, and press repost button so that the entered comments gets attached to the new row. And then when you run the input ready query next time, you definitely see the latest comment for that row and you can change if you want.
Just design as per the document, keep comment as a characteristic in any of the dimensions, use this field as row in the input ready query.

Similar Messages

  • How to add Comments in travel expense?

    Hi,
    How to add Comments in travel expense?Using the FM HRTRV_IF_ADD_RECEIPT. I have gievn the input in the Input Table TEXT.
    Eg:-
    TEXTID = R001
    TEXTLINE = Comments.
    It is not updating in the Backend.How to solve this.
    Regards
    Bala..

    Hi madapati,
    I debugged the FM HRTRV_IF_ADD_RECEIPT and came to know that for adding comments, have to give
    input to the Input table ADDINFO.  while giving inputs to this input table,  i am getting the error like shown below.
    Field PTK33-PLACE. does not exist in the screen SAPMP56T 1310
    I checked this screen in the PR01 and PR05 Tcode. There was no screen exists with this screen number 1310. The standard FM HRTRV_IF_ADD_RECEIPT is using BDC for adding the receipts,comments,addinfo ,etc., But i checked the screen number in BDCDATA of standard FM HRTRV_IF_ADD_RECEIPT for adding both comments and addditional information(addinfo) , there the screen number was SAPMP56T 1310. But in the PR01 it was like this SAPMP56T 1960 .
    How to solve this issue, and how i have to add comments.
    Please send any sample program if u have.
    Regards
    Bala.

  • HOW TO ADD COMMENTS IN REPORT IN WAD

    Hello
    How to add comments in report in wad...
    please reply
    thanks

    Hai Guru
    Please refer to note 1061397. Hope this helps.
    Shyam

  • HT2486 want to know how to add pictures to address book that DO NOT appear as fullscreen images on the iPhone but remain as icons with the iPhone background visible

    want to know how to add pictures to address book that DO NOT appear as fullscreen images on the iPhone but remain as icons with the iPhone background visible (see attached image). for some reason, all new contacts added through Mountain Lion appear as fullscreen caller ID images.

    This would be better addressed in the iPhone forum, I would post there as well.

  • How I can delete set of book that not use, it is creating wrongly?

    Dear Valued Consultant ,
    How I can delete set of book that not use, it is creating wrongly?
    Is there a way to delete Set of Book that not use, it is created wrongly?
    The Goal:
    This wrongly set of book it is appears always in any where that need select the Set of Book that may be cause select the wrongly one
    Thanks for alawys Helping

    Pl see if ML Doc 160623.1 (How to Delete a Set of Books from General Ledger?) helps.
    HTH
    Srini

  • How to use text-to-speech so that my text messages are read to me in the car?

    How to use text-to-speech so that my text messages are read to me in the car?

    I have the same question but I have iPhone 5

  • How can i/adobe tell which licence (student or normal) things are created in?

    How can i/adobe tell which licence (student or normal) things are created in?
    Basically i want to know how i can find out, (in an exported jpg for instance) where it would say it was created in the student edition or in the normal edition. I dont want to put files that would be going against the student licence (which for those of you who dont know you cant create items to sell in a student edition) on the internet to make money.
    I have put i/adobe because if no one can tell what files are created in, and i have the licence for the normal one then it should be okay.
    Hope some of you can help,
    James

    no one know still?

  • How to Restrict Single Delivery Date for PO with Multiple Line Items

    Dear Experts,
    How to Restrict Single Delivery Date for PO with Multiple Line Items.
    System needs to through Error Message if User Inputs Different Delivery Dates for PO with Multiple Line Items in ME21N Tcode.
    Can we achive this by Some Enhancement in SAP or Not ???
    If so how to do it.
    Any Inputs is highly appreciated.
    Thanks and Regards,
    Selvakumar. M

    Hi Selvakumar,
    we can resrict the PO to have a single delivery date in all the line items by means of giving a error message or overwiting the delivery date keyed/determined in the line item.
    You can use the BADI -> ME_PROCESS_PO_CUST. In which you need to implement the method PROCESS_SCHEDULE.
    (for technical aid - This method will be called for each and every PO line item, From the imporing parameter im_schedule we can get all the details of current PO line, even we can change the data in the current PO line. )
    Regards,
    Madhu.

  • TouchUp: How to add an underline to text that is not underlined?

    The subject says it all, how do I use the TouchUp tool(s) to add an underline to text that is not underlined?

    There is an "underline" annotation available for the Comment & Markup toolbar.
    First, open the Comment & Markup toolbar.
    This will let you observe the addition of the Underline annotation.
    You want to access the "More Tools" dialog.
    There are various ways to get to it.
    --|  Place the mouse cursor in the tools icon 'ribbon' over in the empty space at the right.
         Right click for the context menu.  Select "More Tools".
    --| Select Tools > Customize Toolbars
    With the More Tools dialog presented, scroll down some to view the 'Comment & Markup Toolbar' choices.
    The default toolbar does not show:
    Underline Text Tool, Cross Out Text Took, Attach a File as a Comment, Record Audio Comment, and some others.
    So, select the Underline Text Tool.
    Close the dialog. The Underline Text Tool is now part of the Comment & Markup Toolbar.
    The toolbar selections, from "More Tools", is sticky.
    The Properties dialog for the Underline Text Tool permits configuration selections such as:
    – underline style of straight | squiggly
    – color
    – Opacity
    At the bottom of the tool's Properties dialog you can tick the selection "Make Properties Default".
    As with other annotations, there is a pop-up note available for entering information.
    Be well...

  • How to add video files to iMovie that are not present in photos ?

    i purchased iMovie yesterday for iPad and i am enjoying it a lot , but how to add my personal videos to edit that are not present in photos ? i m not a mac user but i hope soon i will get the budget to buy mac

    Put your videos in a folder and sync iPhone with iTunes, "Photos" tabpreviously selected "Sync photos" and checked the box next to "videos include" I understand you do not have Mac, but with a PC can do the same, with this you will reel and your videos can be edited withiMovie on your iPhone.

  • How to add comments to parts on a model in Adobe Reader 3D

    How do you add comments to parts on a model in Adobe Reader 3D.
    I want the comments to only appear when the user selects the part of the model.

    If a link starts with http:// then Reader will recognize it as a link and will make it clickable.
    Reader will not recognize an email link. To make it a link you would need to use Adobe Acrobat's link tool or would have to create an email link in the original application use to create the document and convert the file to PDF leaving links intact.

  • How to add comments in Infotype 24

    hi experts,
    I have a query on adding comments after saving the qualification in infotype 24.
    Is there any function module to add comments?
    the comment is an input from the portal which needs to be saved in infotype 24.
    Can anyone help me?
    Its urgent.
    I am creating function modules for my project

    Pl check this <a href="https://forums.sdn.sap.com/click.jspa?searchID=2831192&messageID=3310490">Thread</a>.
    ~Suresh

  • How to wrap the too big string name in multiple line

    Hi All,
    String s="Diwali_Photos_For_Testing_Purpose_Test"
    How to wrap this string into multiple lines in jsp.
    by setting the width of the outputText component, it is not wrapping into multiple lines.
    If the String s="Deputy chief executive takes up position at Hibernian"
    then it will be wrapped in next line..

    In IE you can apply CSS property 'word-wrap' on that field with the value 'break-word'. For other browsers you'll have to write some JS yourself which breaks long words with spaces or even do it already at the server side.

  • How to open a pdf package in browser when multiple files are bound together.

    Hi,
    I have to open a pdf package in browser that contains multiple pdf files any suggestions will help me a lot.
    Thanks.

    It shows me a page says "Multiple files are bound together in this PDF package"

  • RandomAccessFile: How do I Clear the txt file and write multiple lines of..

    Hello all,
    I am a 6th grade teacher and am taking a not so "Advanced Java Programming" class. Could someone please help me with the following problem.
    I am having trouble with RandomAccessFile.
    What I want to do is:
    1. Write multiple lines of text to a file
    2. Be able to delete previous entries in the file
    3. It would also be nice to be able to go to a certian line of text but not manditory.
    import java.io.*;
    public class Logger
    RandomAccessFile raf;
    public Logger()
         try
              raf=new RandomAccessFile("default.txt","rw");
              raf.seek(0);
              raf.writeBytes("");
         catch(Exception e)
              e.printStackTrace();
    public Logger(String fileName)
         try
              raf=new RandomAccessFile(fileName,"rw");
              raf.seek(0);
              raf.writeBytes("");
         catch(Exception e)
              e.printStackTrace();
    public void writeLine(String line)
         try
              long index=0;
              raf.seek(raf.length());          
              raf.writeBytes(index+" "+line);
         catch(Exception e)
              e.printStackTrace();
    public void closeFile()
         try
              raf.close();
         catch(Exception e)
              e.printStackTrace();
         }

    Enjoy! The length of the code is highly attributable to the test harness/shell thingy at the end. But anyway seems to work nicely.
    import java.io.*;
    /** File structure is as follows. 1st four bytes (int) with number of live records. Followed by records.
    <p>Records are structured as follows<ul>
    <li>Alive or dead - int
    <li>Length of data - int
    <li>Data
    </ul>*/
    public class SequentialAccessStringFile{
      private static int ALIVE = 1;
      private static int DEAD = 0;
      private int numRecords, currentRecord;
      private RandomAccessFile raf;
      /** Creates a SequentialAccessStringFile from a previously created file. */
      public SequentialAccessStringFile(String filename)throws IOException{
        this(filename,false);
      /** Creates a SequentialAccessStringFile. If createnew is true then a new file is created or if it
          already exists the old one is blown away. You must call this constructor with true if you do
          not have an existing file. */
      public SequentialAccessStringFile(String filename, boolean createnew)throws IOException{
        this.raf = new RandomAccessFile(filename,"rw");
        if(createnew){
          truncate();
        this.currentRecord = 0;
        this.raf.seek(0);
        this.numRecords = raf.readInt();
      /** Truncates the file deleting all existing records. */
      public void truncate()throws IOException{
        this.numRecords = 0;
        this.currentRecord = 0;
        this.raf.setLength(0);
        this.raf.writeInt(this.numRecords);
      /** Adds the given String to the end of this file.*/
      public void addRecord(String toAdd)throws IOException{
        this.raf.seek(this.raf.length());//jump to end of file
        byte[] buff = toAdd.getBytes();// uses default encoding you may want to change this
        this.raf.writeInt(ALIVE);
        this.raf.writeInt(buff.length);
        this.raf.write(buff);
        numRecords++;
        this.raf.seek(0);
        this.raf.writeInt(this.numRecords);
        this.currentRecord = 0;   
      /** Returns the record at given index. Indexing starts at zero. */
      public String getRecord(int index)throws IOException{
        seekToRecord(index);
        int buffLength = this.raf.readInt();
        byte[] buff = new byte[buffLength];
        this.raf.readFully(buff);
        this.currentRecord++;
        return new String(buff); // again with the default charset
      /** Returns the number of records in this file. */
      public int recordCount(){
        return this.numRecords;
      /** Deletes the record at given index. This does not physically delete the file but simply marks the record as "dead" */
      public void deleteRecord(int index)throws IOException{
        seekToRecord(index);
        this.raf.seek(this.raf.getFilePointer()-4);
        this.raf.writeInt(DEAD);
        this.numRecords--;
        this.raf.seek(0);
        this.raf.writeInt(this.numRecords);
        this.currentRecord = 0;
      /** Removes dead space from file.*/
      public void optimizeFile()throws IOException{
        // excercise left for reader
      public void close()throws IOException{
        this.raf.close();
      /** Positions the file pointer just before the size attribute for the record we want to read*/
      private void seekToRecord(int index)throws IOException{
        if(index>=this.numRecords){
          throw new IOException("Record "+index+" out of range.");           
        if(index<this.currentRecord){
          this.raf.seek(4);
          currentRecord = 0;     
        int isAlive, toSkip;
        while(this.currentRecord<index){
          //skip a record
          isAlive = this.raf.readInt();
          toSkip = this.raf.readInt();
          this.raf.skipBytes(toSkip);
          if(isAlive==ALIVE){
               this.currentRecord++;
        // the next live record is the record we want
        isAlive = this.raf.readInt();
        while(isAlive==DEAD){
          toSkip = this.raf.readInt();
          this.raf.skipBytes(toSkip);
          isAlive = this.raf.readInt();     
      public static void main(String args[])throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Create a new file? y/n");
        System.out.println("(No assumes file exists)");
        System.out.print("> ");
        String command = br.readLine();
        SequentialAccessStringFile test = null;
        if(command.equalsIgnoreCase("y")){
          System.out.println("Name of file");
          System.out.print("> ");
          command = br.readLine();
          test = new SequentialAccessStringFile(command,true);     
        }else{
          System.out.println("Name of file");
          System.out.print("> ");
          command = br.readLine();
          test = new SequentialAccessStringFile(command);     
        System.out.println("File loaded. Type ? for help");
        boolean alive = true;
        while(alive){
          System.out.print("> ");
          command = br.readLine();
          boolean understood = false;
          String[] commandArgs = command.split("\\s");
          if(commandArgs.length<1){
               continue;
          if(commandArgs[0].equalsIgnoreCase("quit")){
               test.close();           
               alive = false;
               understood = true;           
          if(commandArgs[0].equalsIgnoreCase("list")){
               System.out.println("#\tValue");
               for(int i=0;i<test.recordCount();i++){
                 System.out.println(i+"\t"+test.getRecord(i));
               understood = true;
          if(commandArgs[0].equalsIgnoreCase("truncate")){
               test.truncate();
               understood = true;
               System.out.println("File truncated");
          if(commandArgs[0].equalsIgnoreCase("add")){
                test.addRecord(commandArgs[1]);
                understood = true;
                System.out.println("Record added");
          if(commandArgs[0].equalsIgnoreCase("delete")){
                int toDelete = Integer.parseInt(commandArgs[1]);
                if((toDelete<0)||(toDelete>=test.recordCount())){
                  System.out.println("Record "+toDelete+" does not exist");
                }else{
                  test.deleteRecord(toDelete);
                  System.out.println("Record deleted");
                understood = true;
          if(commandArgs[0].equals("?")){
               understood = true;
          if(!understood){
               System.out.println("'"+command+"' unrecognized");
               commandArgs[0] = "?";
          if(commandArgs[0].equals("?")){
               System.out.println("list - prints current file contents");
               System.out.println("add [data] - adds data to file");
               System.out.println("delete [record index] - deletes record from file");
               System.out.println("truncate - truncates file (deletes all record)");
               System.out.println("quit - quit this program");
               System.out.println("? - displays this help");
        System.out.println("Bye!");
    }Sample output with test program
    C:\>java SequentialAccessStringFile
    Create a new file? y/n
    (No assumes file exists)
    yName of file
    mystringsFile loaded. Type ? for help
    add appleRecord added
    add orangeRecord added
    add cherryRecord added
    add pineappleRecord added
    list#       Value
    0       apple
    1       orange
    2       cherry
    3       pineapple
    delete 5Record 5 does not exist
    delete 1Record deleted
    list#       Value
    0       apple
    1       cherry
    2       pineapple
    add kiwiRecord added
    list#       Value
    0       apple
    1       cherry
    2       pineapple
    3       kiwi
    quitBye

Maybe you are looking for