Input enabled cell to enter text

Hi All,
I need to create a query which has an input enabled column where user can enter text up to 250 characters. Is this possible only using aggregation level? Is it possible to declare a characteristic to show up as a column and input enabled? I am thinking only key figures can be input enabled and they can accept only numbers but not characters.
I am new to BI Planning concept. Please let me know the best solution for my requirement.
Thanks in Advance!
Sonali.

Hi,
Please take a look in the following thread.
Re: Input Ready query text field
Hope this helps.

Similar Messages

  • Input enabled column to enter text in query

    Hi All,
    I need to create a query which has an input enabled column where user can enter text up to 250 characters. Is this possible only using aggregation level? Is it possible to declare a characteristic to show up as a column and input enabled? I am thinking only key figures can be input enabled and they can accept only numbers but not characters.
    I am new to BI Planning concept. Please let me know the best solution for my requirement.
    Thanks in Advance!
    Sonali.

    Hi,
    Please take a look in the following thread.
    Re: Input Ready query text field
    Hope this helps.

  • Disabling one input field if i enter text in second inputfield

    Hi,
    I am new to WebDynpro. My problem is very simple. I have two input fields. When i enter text in one input field i want the second input field to be disabled & Vice versa. The idea is that i want to give the user the option to enter in only 1 input field of his choice. The second input field should automatically get disabled. He can choose any input field of his choice. The second one should get disabled.
    EG: Assume that there are two input fields "Item No" & "Material". The user wants do a search using any one of these parameters, but not both. So, when he chooses to do a search based on "Item No", the "Material" input field should be greyed out(disabled). And, vice versa. The user may decide to choose any one of these fields.
    Please advise.

    This is not possible because there is no "onFocus" event on the input field.
    But you could use two radio buttons R1, R2 to enable exactly one of the input fields F1, F2 at a time.
    In the view designer, set R1.keyToSelect = "1", R2.keyToSelect = "2".
    Bind R1.selectedKey and R2.selectedKey to a common context attribute A (type string).
    If (at runtime) A contains "1", radio button R1 is selected, if A contains "2", radio button R2 is selected.
    To enable input field F1 exactly if R1 is selected:
    Create a calculated boolean attribute E1 that returns the boolean value ("1".equals(A)), bind property F1.enabled to E1. Do the same for F2.
    Armin

  • ALV - Input enabling cells based on data in other cell

    Hi,
    I have a requirement,
    - Where in there are 4 columns to be displayed in an ALV say <Material No>, <Bin>, <Quantity> (Input enabled) and <Bin Empty> (Conditional Input enabled and it is a Checkbox).
    - Now I will be fetching all the Materials available in a particular Bin and display in the ALV.
    - Now the User starts entering the Quantity in the <Quantity> column and my program should enable the cells in the <Bin Empty> column for the rows where ever the user has entered Quantity as '0', so that the user can check the Checkbox in the <Bin Empty> column.
    Please let me know as to how this enabling/disabling of a cell alone can be done, coz as I know we can make a whole column Input enabled/disabled. Please help.
    Thanks in advance.
    Saleem A. Chikodi.

    Hi saleem,
    1.you need to add one extra field in the internal table.
       HANDLE_STYLE TYPE LVC_T_STYL
    2. before calling the metho set_table_display...
    write your own conditions , in my case i am checking for flag is 'X' or not..
    LOOP AT IT_FINAL INTO LS_OUTTAB WHERE FLAG = 'X'.
        V_INDEX = SY-TABIX.
        LS_EDIT-FIELDNAME = 'FIELD1'.
        LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
        LS_EDIT-STYLE2 = SPACE.
        LS_EDIT-STYLE3 = SPACE.
        LS_EDIT-STYLE4 = SPACE.
        LS_EDIT-MAXLEN = 8.
        INSERT LS_EDIT INTO TABLE LT_EDIT.
        LS_EDIT-FIELDNAME = 'FIELD2'.
        LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
        LS_EDIT-STYLE2 = SPACE.
        LS_EDIT-STYLE3 = SPACE.
        LS_EDIT-STYLE4 = SPACE.
        LS_EDIT-MAXLEN = 8.
        INSERT LS_EDIT INTO TABLE LT_EDIT.
        LS_EDIT-FIELDNAME = 'FIELD5'.
        LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
        LS_EDIT-STYLE2 = SPACE.
        LS_EDIT-STYLE3 = SPACE.
        LS_EDIT-STYLE4 = SPACE.
        LS_EDIT-MAXLEN = 8.
        INSERT LS_EDIT INTO TABLE LT_EDIT.
        INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-HANDLE_STYLE.
        MODIFY IT_FINAL INDEX V_INDEX FROM LS_OUTTAB  TRANSPORTING
                                          HANDLE_STYLE.
      ENDLOOP.
    3. psss the style name to layout
      GS_LAYOUT-STYLEFNAME = 'HANDLE_STYLE'.
    these are the steps...
    thats all..
    Vijay

  • Object variable not set (Error 91) in Input Enabled query

    Hello,
    I'm having the following issue.  I have created an input enabled query and included it in a planning workbook.  Every time I open the workbook or query, and I got to an input enabled cell, I get the error below:
    Object variable not set (Error 91)
    This client has not used planning workbooks before.  The system is on 7.10 SP10 for Bex Analyzer and SAP Gui 7.10 Patch Level 13. 
    I'm not finding any relevant so far in SDN.  Any help anyone can provide is greatly appreciated.
    Thanks,
    Senthil

    Hello,
    Just wanted to let you all know that this issue has been resolved after updating my SAP Gui to 7.2 Patch Level 4 (Patch Level 5 was causing some other issues so I decided to stay at Level 4).
    Thanks,
    Senthil

  • How to get the value entered in input enabled field of a list output?

    Hi all,
    I am developing a program to display  list with two input enabled fields . After users enetered the values into these fields I need to do some calculations based on these values and modify the value of another field in the list.
    But i couldn't have an idea how to read the values after users enter into these fields.
    Please help me on solving this problem?  If possible please provide the sample code.
    Thanks,
    Aravind.

    You can enable disable screen fields in at selection screen output event.
    And by using loop at screen.
    And for changing the values you can do in initialization event.
    I Hope you are doing these in Reports.

  • Auto populate text fields with a trigger such as entering text into input fields in ADF

    Hello all,
    I am not able to auto populate text fields with a trigger such as entering text into input fields in ADF.
    I tried AdfFacesContext.getCurrentInstance().addPartialTarget(val); in the back end using setter method of input text field.
    its not working ..
    is there any way to achieve it
    Regards,
    Shakir

    Hi,
    Always mention your JDev version.
    The valueChangeListener would fire only when you set the autoSubmit property of the field to true. Can you elaborate your requirement? What do you mean by related data? Are you performing some sort of search?
    If you want to get the value you entered on the field, just set autoSubmit to true and get the new value from the valueChangeListener. If your requirement is something like as and when you type, do something, you need to check out this approach :https://blogs.oracle.com/groundside/entry/auto_reduce_search_sample
    -Arun

  • How to enter text in text input box using virtual keyboard in flex application

    Re: how to enter text in text input box using virtual keyboard in flex application
    hi,
    im using flash builder 4,
    i  designed virtual keyboard, i have to update the text in text input box  continously by using virtual keyboard.
    i used button events.i did  some mistake there.
    can some one help me out of tat.
    thanks  in advance.
    i have included my mxml program with this.
    virtualkeyboard.mxml
    <?xml  version="1.0" encoding="utf-8"?>
    <s:Application  xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"  minHeight="600" creationComplete="initfunc()">
         <fx:Script>
            <![CDATA[
                import  mx.controls.Alert;
                private function initfunc():void
                    b1.addEventListener(MouseEvent.CLICK,handleEvent);
                     b2.addEventListener(MouseEvent.CLICK,handleEvent);
                     b3.addEventListener(MouseEvent.CLICK,handleEvent);
                     b4.addEventListener(MouseEvent.CLICK,handleEvent);
                     b5.addEventListener(MouseEvent.CLICK,handleEvent);
                     b6.addEventListener(MouseEvent.CLICK,handleEvent);
                     b7.addEventListener(MouseEvent.CLICK,handleEvent);
                     b8.addEventListener(MouseEvent.CLICK,handleEvent);
                     b9.addEventListener(MouseEvent.CLICK,handleEvent);
                     b10.addEventListener(MouseEvent.CLICK,handleEvent);
                     b11.addEventListener(MouseEvent.CLICK,handleEvent);
                     b12.addEventListener(MouseEvent.CLICK,handleEvent);
                     b13.addEventListener(MouseEvent.CLICK,handleEvent);
                     b14.addEventListener(MouseEvent.CLICK,handleEvent);
                     b15.addEventListener(MouseEvent.CLICK,handleEvent);
                     b16.addEventListener(MouseEvent.CLICK,handleEvent);
                     b17.addEventListener(MouseEvent.CLICK,handleEvent);
                     b18.addEventListener(MouseEvent.CLICK,handleEvent);
                     b19.addEventListener(MouseEvent.CLICK,handleEvent);
                     b20.addEventListener(MouseEvent.CLICK,handleEvent);
                     b21.addEventListener(MouseEvent.CLICK,handleEvent);
                     b22.addEventListener(MouseEvent.CLICK,handleEvent);
                     b23.addEventListener(MouseEvent.CLICK,handleEvent);
                     b24.addEventListener(MouseEvent.CLICK,handleEvent);
                     b25.addEventListener(MouseEvent.CLICK,handleEvent);
                     b26.addEventListener(MouseEvent.CLICK,handleEvent);
                     b27.addEventListener(MouseEvent.CLICK,handleEvent);
                     b28.addEventListener(MouseEvent.CLICK,handleEvent);
                     b29.addEventListener(MouseEvent.CLICK,handleEvent);
                     b30.addEventListener(MouseEvent.CLICK,handleEvent);
                     b31.addEventListener(MouseEvent.CLICK,handleEvent);
                     b32.addEventListener(MouseEvent.CLICK,handleEvent);
                     b33.addEventListener(MouseEvent.CLICK,handleEvent);
                     b34.addEventListener(MouseEvent.CLICK,handleEvent);
                     b35.addEventListener(MouseEvent.CLICK,handleEvent);
                     b36.addEventListener(MouseEvent.CLICK,handleEvent);
                     b37.addEventListener(MouseEvent.CLICK,handleEvent);
                     b38.addEventListener(MouseEvent.CLICK,handleEvent);
                     b39.addEventListener(MouseEvent.CLICK,handleEvent);
                     b40.addEventListener(MouseEvent.CLICK,handleEvent);
                     b41.addEventListener(MouseEvent.CLICK,handleEvent);
                     b42.addEventListener(MouseEvent.CLICK,handleEvent);
                     b43.addEventListener(MouseEvent.CLICK,handleEvent);
                     b44.addEventListener(MouseEvent.CLICK,handleEvent);
                     b45.addEventListener(MouseEvent.CLICK,handleEvent);
                     b46.addEventListener(MouseEvent.CLICK,handleEvent);
                     b47.addEventListener(MouseEvent.CLICK,handleEvent);
                     b48.addEventListener(MouseEvent.CLICK,handleEvent);
                     b49.addEventListener(MouseEvent.CLICK,handleEvent);
                     b50.addEventListener(MouseEvent.CLICK,handleEvent);
                     b51.addEventListener(MouseEvent.CLICK,handleEvent);
                     b52.addEventListener(MouseEvent.CLICK,handleEvent);
                     b53.addEventListener(MouseEvent.CLICK,handleEvent);               
                public function handleEvent ( e :  MouseEvent ) : void
                    var a:String=  e.target.name ;
                    Alert.show(e.target.name);
                   var b:String=null;
                    switch(a)
                        case "Button20":
                           b=textbox.text;
                            //textbox.text="a";
                             textbox.text=b+"a";
                            break;
                       case "Button21":
                            //textbox.text="b";
                           textbox.text=b+"b";
                           break;
                       default:
                           //textbox.text="s";
                            textbox.text=b+"s";
            ]]>
        </fx:Script>
        <s:Panel  x="43" y="82" width="527" height="213">
          <mx:Button  x="71" y="86" id="b1" label="1" width="30" height="24"/>
             <s:Button x="180" y="86"  id="b2" label="5" width="30"  height="24"/>
            <s:Button x="127" y="86"  id="b3"  label="3" width="30" height="24"/>
            <s:Button x="99"  y="86"  id="b4" label="2" width="30" height="24"/>
             <s:Button x="323" y="86"  id="b5" label="0" width="30"  height="24"/>
            <s:Button x="294" y="86"  id="b6"  label="9" width="30" height="24"/>
            <s:Button x="265"  y="86"   id="b7" label="8" width="30" height="24"/>
             <s:Button x="237" y="86"  id="b8" label="7" width="30"  height="24"/>
            <s:Button x="209" y="86"  id="b9"  label="6" width="30" height="24"/>
            <s:Button x="42"  y="86"  id="b10" label="`" width="30" height="24"/>
             <s:Button x="382" y="86" id="b11" label="=" width="30"  height="24"/>
            <s:Button x="353" y="86"  id="b12"  label="-" width="30" height="24"/>
            <s:Button x="410"  y="86"  id="b13" label="back" width="76" height="24"/>
             <s:Button x="157" y="86"  id="b14" label="4" width="30"  height="24"/>
            <s:Button x="43" y="109" id="b15"  label="tab" width="66" height="24"/>
            <s:Button x="105"  y="109"  id="b16" label="q" width="31" height="24"/>
             <s:Button x="247" y="109"  id="b17" label="y" width="30"  height="24"/>
            <s:Button x="303" y="109"  id="b18"  label="i" width="31" height="24"/>
            <s:Button x="361"  y="110"  id="b19" label="p" width="34" height="23"/>
             <s:Button x="394" y="109"  id="b20" label="[" width="31"  height="24"/>
            <s:Button x="191" y="109"  id="b21"  label="r" width="34" height="24"/>
            <s:Button x="424"  y="109"  id="b22" label="]" width="31" height="24"/>
             <s:Button x="222" y="109"  id="b23" label="t" width="31"  height="24"/>
            <s:Button x="161" y="109"  id="b24"  label="e" width="31" height="24"/>
            <s:Button x="133"  y="109"  id="b25" label="w" width="31" height="24"/>
             <s:Button x="332" y="109"  id="b26" label="o" width="31"  height="24"/>
            <s:Button x="275" y="109"  id="b27"  label="u" width="31" height="24"/>
            <s:Button x="220"  y="133"  id="b28" label="g" width="31" height="24"/>
             <s:Button x="424" y="132"  id="b29" label="enter" width="62"  height="24"/>
            <s:Button x="43" y="132"  id="b30"  label="caps" width="66" height="24"/>
            <s:Button x="275"  y="133"  id="b31" label="j" width="42" height="23"/>
             <s:Button x="314" y="132"  id="b32" label="k" width="31"  height="24"/>
            <s:Button x="133" y="133"  id="b33"  label="s" width="31" height="23"/>
            <s:Button x="161"  y="133"  id="b34" label="d" width="31" height="23"/>
             <s:Button x="250" y="133"  id="b35" label="h" width="31"  height="23"/>
            <s:Button x="105" y="133"  id="b36"  label="a" width="31" height="23"/>
            <s:Button x="191"  y="133"  id="b37" label="f" width="31" height="23"/>
             <s:Button x="342" y="132"  id="b38" label="l" width="31"  height="24"/>
            <s:Button x="152" y="154"  id="b39"  label="x" width="31" height="24"/>
            <s:Button x="353"  y="154"  id="b40" label="." width="31" height="24"/>
             <s:Button x="325" y="154"  id="b41" label="," width="31"  height="24"/>
            <s:Button x="294" y="154"  id="b42"  label="m" width="31" height="24"/>
            <s:Button x="259"  y="154"  id="b43" label="n" width="37" height="24"/>
             <s:Button x="236" y="154"  id="b44" label="b" width="31"  height="24"/>
            <s:Button x="211" y="154"  id="b45"  label="v" width="31" height="24"/>
            <s:Button x="181"  y="154"  id="b46" label="c" width="31" height="24"/>
             <s:Button x="122" y="154"  id="b47" label="z" width="31"  height="24"/>
            <s:Button x="380" y="154"  id="b48"  label="/" width="31" height="24"/>
            <s:Button x="368"  y="132"  id="b49" label=";" width="31" height="24"/>
             <s:Button x="396" y="132"  id="b50" label="'" width="31"  height="24"/>
            <s:Button x="43" y="154"  id="b51"  label="shift" width="82" height="24"/>
            <s:Button  x="407" y="154" id="b52" label="shift" width="79" height="24"/>
             <s:Button x="455" y="109"  id="b53" label="\" width="31"  height="24"/>
        </s:Panel>
        <s:TextInput  x="161" y="27" id="textbox" width="253"/>
    </s:Application>
    regards,
    saran r

    hi,
    how to code for these buttons "control,alt,delete,insert and spacebar".
    can u help me how to program?
    i have attached the mxml code with this,
    virtualkeypad1.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                   creationComplete="application1_creationCompleteHandler(event)" viewSourceURL="srcview/index.html">
        <fx:Script>
            <![CDATA[
                import flash.utils.getQualifiedSuperclassName;
                import mx.events.FlexEvent;
                private var inpText:String = 'inp1';
                private var shiftState:Boolean = false;
                private var capsState:Boolean = false;
                protected function keyboard_clickHandler(event:MouseEvent):void
                    this[inpText].text = this[inpText].text+(event.currentTarget as Button).label;
                    if (shiftState == true) shift_clickHandler(null);
                protected function caps_clickHandler(event:MouseEvent):void
                    capsState = !capsState;
                    if (capsState == true)
                        currentState = "SHIFTED" else currentState = "PRIMARY";
                protected function tab_clickHandler(event:MouseEvent):void
                    this[inpText].text = this[inpText].text+"    ";
                protected function shift_clickHandler(event:MouseEvent):void
                    shiftState = !shiftState;
                    if (shiftState == true)
                        currentState = "SHIFTED" else currentState = "PRIMARY";
                protected function enter_clickHandler(event:MouseEvent):void
                    this[inpText].text = this[inpText].text+"\n";
                protected function backspace_clickHandler(event:MouseEvent):void
                    var tmpStr:String = this[inpText].text;
                    this[inpText].text = tmpStr.substr(0,tmpStr.length-1);
                protected function application1_creationCompleteHandler(event:FlexEvent):void
                    inp1.setFocus();               
                protected function focus_enterHandler(event:MouseEvent):void
                    inpText = event.currentTarget.id;
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="PRIMARY"/>
            <s:State name="SHIFTED"/>
        </s:states>
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <s:TextInput id="inp1" y="36" width="151" horizontalCenter="0" click="focus_enterHandler(event)" y.PRIMARY="239" horizontalCenter.PRIMARY="42" width.PRIMARY="199" height.PRIMARY="31"/>
        <s:Group id="keyboard" width="661" height="184" horizontalCenter="0" y="300" focusEnabled="false">
            <s:Button x="5" y="5" label="~" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="`"/>
            <s:Button x="49" y="5" label="!" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="1"/>
            <s:Button x="93" y="5" label="@" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="2"/>
            <s:Button x="137" y="5" label="#" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="3"/>
            <s:Button x="181" y="5" label="$" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="4"/>
            <s:Button x="225" y="5" label="%" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="5"/>
            <s:Button x="269" y="5" label="^" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="6"/>
            <s:Button x="313" y="5" label="&amp;" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="7"/>
            <s:Button x="357" y="5" label="*" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="8"/>
            <s:Button x="401" y="5" label="(" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="9"/>
            <s:Button x="445" y="5" label=")" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="0"/>
            <s:Button x="489" y="5" label="_" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="-"/>
            <s:Button x="533" y="5" label="+" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="="/>
            <s:Button x="577" y="5" label="Backspace" height="43" width="80" fontSize="11" fontWeight="bold" click="backspace_clickHandler(event)"/>
            <s:Button x="5" y="48" label="Tab" height="43" width="67" fontSize="12" fontWeight="bold" click="tab_clickHandler(event)"/>
            <s:Button x="72" y="48" label="Q" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="q"/>
            <s:Button x="116" y="48" label="W" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="w"/>
            <s:Button x="160" y="48" label="E" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="e"/>
            <s:Button x="204" y="48" label="R" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="r"/>
            <s:Button x="248" y="48" label="T" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="t"/>
            <s:Button x="292" y="48" label="Y" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="y"/>
            <s:Button x="336" y="48" label="U" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="u"/>
            <s:Button x="380" y="48" label="I" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="i"/>
            <s:Button x="424" y="48" label="O" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="o"/>
            <s:Button x="468" y="48" label="P" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="p"/>
            <s:Button x="512" y="48" label="{" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="["/>
            <s:Button x="556" y="48" label="}" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="]"/>
            <s:Button x="600" y="48" label="|" height="43" width="57" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="\"/>
            <s:Button x="5" y="91" label="CapsLock" height="43" width="80" fontSize="12" fontWeight="bold" click="caps_clickHandler(event)"/>
            <s:Button x="85" y="91" label="A" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="a"/>
            <s:Button x="129" y="91" label="S" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="s"/>
            <s:Button x="173" y="91" label="D" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="d"/>
            <s:Button x="217" y="91" label="F" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="f"/>
            <s:Button x="261" y="91" label="G" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="g"/>
            <s:Button x="305" y="91" label="H" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="h"/>
            <s:Button x="349" y="91" label="J" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="j"/>
            <s:Button x="393" y="91" label="K" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="k"/>
            <s:Button x="437" y="91" label="L" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="l"/>
            <s:Button x="481" y="91" label=":" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY=";"/>
            <s:Button x="525" y="91" label="&quot;" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="'"/>
            <s:Button x="569" y="91" label="Enter" height="43" width="88" fontSize="24" fontWeight="bold" click="enter_clickHandler(event)"/>
            <s:Button x="5" y="134" label="Shift" height="43" width="106" fontSize="24" fontWeight="bold" click="shift_clickHandler(event)"/>
            <s:Button x="111" y="134" label="Z" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="z"/>
            <s:Button x="155" y="134" label="X" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="x"/>
            <s:Button x="199" y="134" label="C" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="c"/>
            <s:Button x="243" y="134" label="V" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="v"/>
            <s:Button x="287" y="134" label="B" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="b"/>
            <s:Button x="331" y="134" label="N" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="n"/>
            <s:Button x="375" y="134" label="M" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="m"/>
            <s:Button x="419" y="134" label="&lt;" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY=","/>
            <s:Button x="463" y="134" label="&gt;" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="."/>
            <s:Button x="507" y="134" label="?" height="43" width="44" fontSize="24" fontWeight="bold" click="keyboard_clickHandler(event)" label.PRIMARY="/"/>
            <s:Button x="551" y="134" label="Shift" height="43" width="106" fontSize="24" fontWeight="bold" click="shift_clickHandler(event)"/>
        </s:Group>
    </s:Application>
    thanks in advance,
    saran r

  • On and iPad how to Allow User To Enter Custom Text  (Dropdown only) Enables users to enter a value other than the ones in the list.

    On an iPad, how do I :
    Allow User To Enter Custom Text
    (Dropdown only) Enables users to enter a value other than the ones in the list.'?

    Are you using the built-in Currency option under the Format tab? If so,
    what you're describing should not happen.

  • ALV report editable to enter text and print with including the text?

    Hi all,
    I have to display output of a  report in ALV format and i have to make two fileds can be editable to enter texts by user  and able to print the list with that texts .
    Is it possible using standard Function modules or I have to go for OO methods? Please give the sample code ?
    Thanks,
    Vamshi
    Edited by: VAMSHI KRISHNA on Oct 31, 2008 4:25 PM

    Hi Vamshi,
    Check out the Below sample code for the editable ALV.
    *& Report  Z7CC_OOPS_ALV_EDITABLE
    report  z7cc_oops_alv_editable.
    tables sflight.
    data: begin of gt_outtab occurs 0.     "with header line
            include structure sflight.
    data: celltab type lvc_t_styl.
    data: end of gt_outtab.
    data: gt_fieldcat type lvc_t_fcat.
    data: g_carrid like sflight-carrid,
          g_connid like sflight-connid.
    data: gs_spfli type spfli.                                  "#EC NEEDED
    data: g_custom_container type ref to cl_gui_custom_container.
    data:  g_container type scrfname value 'BCALV_GRID_DEMO_0100_CONT1'.
    data: g_grid  type ref to cl_gui_alv_grid.
    data: wa_outtab like gt_outtab.
    *       CLASS lcl_event_receiver DEFINITION
    class lcl_event_receiver definition.
      public section.
        types: begin of sflight_key.
        types:   carrid type s_carr_id.
        types:   connid type s_conn_id.
        types:   fldate type s_date.
        types: end of sflight_key.
        types: sflight_keys type standard table of sflight_key,
               sflight_table type standard table of sflight.
        methods:
          handle_data_changed
             for event data_changed of cl_gui_alv_grid
                 importing er_data_changed.
        methods:
          get_inserted_rows
               exporting
                  inserted_rows type sflight_keys.
        methods:
          get_deleted_rows
              exporting
                  deleted_rows type sflight_table.
        methods:
           refresh_delta_tables.
        methods: set_table_is_initial.
        methods: set_table_is_not_initial.
        methods: table_is_initial
                    returning value(initial) type char01.
      private section.
    * §4.Define internal tables to remember inserted and deleted lines,
    *    thus the delta between input made after the last saving.
        data: inserted_rows type sflight_keys,
              deleted_rows type standard table of sflight.
    * This flag is set if any error occured in one of the
    * following methods:
        data: error_in_data type c.
    * This flag signals that no records were read for the flight
    * table initially:
        data: initial_table type c.
    ** Methods to modularize event handler method HANDLE_DATA_CHANGED:
        methods:
          check_double_entries
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          update_delta_tables
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          perform_semantic_checks
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          get_cell_values
               importing
                 row_id          type int4
                 pr_data_changed type ref to cl_alv_changed_data_protocol
               exporting
                 key             type sflight_key.
    endclass.                    "lcl_event_receiver DEFINITION
    class lcl_event_receiver implementation.
      method handle_data_changed.
    *    data: ls_good type lvc_s_modi,
    *          l_price type s_price,
    *          ls_new type lvc_s_moce.
    *    error_in_data = space.
    ** check if there exist double entries
    *    call method check_double_entries( er_data_changed ).
    ** remember new or deleted lines for saving
    *    call method update_delta_tables( er_data_changed ).
    ** check mt_good_cells semantically
    *    call method perform_semantic_checks( er_data_changed ).
    *    if error_in_data = 'X'.
    *      call method er_data_changed->display_protocol.
    *    endif.
      endmethod.                    "handle_data_changed
      method check_double_entries.
        data: lt_good_cells type lvc_t_modi,
              ls_good type lvc_s_modi,
              ls_key type sflight_key,
              ls_sflight type sflight,
              l_flightdate like gt_outtab-fldate,
              l_del_row type lvc_s_moce,
              ls_outtab like line of gt_outtab,
              l_reentered type c.
    * §5.Check if there exist already other records with equal key fields.
    * Check if the user has entered two new lines where the key fields
    * are equal.
    * Since CARRID and CONNID are read only, the check is restrained
    * to field FLDATE.
    * Algorithm: Copy all entries in MT_GOOD_CELLS to a dummy table.
    *            During the copying procedure check if there exists
    *            already a line with the same Flight date.
    *    loop at pr_data_changed->mt_good_cells into ls_good.
    *      case ls_good-fieldname.
    *        when 'FLDATE'.
    *          call method pr_data_changed->get_cell_value
    *                      exporting
    *                            i_row_id = ls_good-row_id
    *                            i_fieldname = ls_good-fieldname
    *                      importing e_value = l_flightdate.
    *          read table lt_good_cells with key
    *                            value = l_flightdate
    *                            transporting no fields.
    *          if sy-subrc = 0.
    ** There exists already a line with the same flight date!
    *            call method pr_data_changed->add_protocol_entry
    *                         exporting
    *              i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *              i_msgv1 = text-m01
    *              i_fieldname = ls_good-fieldname
    *              i_row_id = ls_good-row_id.
    *            error_in_data = 'X'.
    *          else.
    *            ls_good-value = l_flightdate.
    *            append ls_good to lt_good_cells.
    *          endif.
    *      endcase.
    *    endloop.
    ** Check if any new entries already exist in gt_outtab.
    ** At this point, lt_good_cells contains only lines with
    ** FIELDNAME = 'FLDATE'.
    *    loop at lt_good_cells into ls_good.
    *      l_flightdate = ls_good-value.      "flightdate, see above
    *      read table gt_outtab with key
    *                    carrid = g_carrid
    *                    connid = g_connid
    *                    fldate = l_flightdate
    *                    transporting no fields.
    *      if sy-subrc = 0.
    ** Check if this entry was deleted before, i.e. it is in the table
    ** of deleted rows. If so, the entry does not exist twice. The user
    ** has deleted a line and then reentered it.
    *        l_reentered = space.
    *        loop at pr_data_changed->mt_deleted_rows into l_del_row.
    *          read table gt_outtab into ls_outtab index l_del_row-row_id.
    *          if sy-subrc ne 0.
    *            message i000(0k) with text-e01."Fehler beim Löschen
    *          elseif
    *                    ls_outtab-carrid eq g_carrid
    *                and ls_outtab-connid eq g_connid
    *                and ls_outtab-fldate eq ls_good-value.
    *            l_reentered = 'X'.
    *          endif.
    *        endloop.
    *        if l_reentered ne 'X'.
    *          call method pr_data_changed->add_protocol_entry
    *                         exporting
    *              i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *              i_msgv1 = text-m01
    *              i_fieldname = ls_good-fieldname
    *              i_row_id = ls_good-row_id.
    *          error_in_data = 'X'.
    *        endif.
    *      endif.
    *    endloop.
    ** In this demo report you may prevent the selection
    ** of data by setting parameter 'p_ds'.
    ** If this is done, the next check is required:
    *    if me->table_is_initial( ) eq 'X'.
    *      call method get_cell_values
    *           exporting row_id          = 1
    *                     pr_data_changed = pr_data_changed
    *           importing key             = ls_key.
    *      select single * from sflight into ls_sflight
    *                where carrid = ls_key-carrid
    *                  and connid = ls_key-connid
    *                  and fldate = ls_key-fldate.
    *      if sy-subrc = 0.
    *        call method pr_data_changed->add_protocol_entry
    *                       exporting
    *            i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *            i_msgv1 = text-m01
    *            i_fieldname = 'FLDATE'
    *            i_row_id = 1.
    *        error_in_data = 'X'.
    *      endif.
    ** flag initial_table is reset in method 'update_delta_tables'
    *    endif.
      endmethod.                    "check_double_entries
      method update_delta_tables.
    *    data: l_ins_row type lvc_s_moce,
    *          l_del_row type lvc_s_moce,
    *          ls_key type sflight_key,
    *          ls_sflight type sflight,
    *          ls_outtab like line of gt_outtab.
    ** §6.Use protocol attributes MT_DELETED_ROWS and MT_INSERTED_ROWS
    **    to remember which lines where deleted or inserted. Save this
    **    information in your internal tables.
    ** deleted rows
    *    loop at pr_data_changed->mt_deleted_rows into l_del_row.
    *      read table gt_outtab into ls_outtab index l_del_row-row_id.
    *      if sy-subrc ne 0.
    *        message i000(0k) with text-e01."Fehler beim Löschen
    *      else.
    *        move-corresponding ls_outtab to ls_sflight.
    ** It should no be possible that the same line is deleted twice,
    ** so we just add the new key line to 'deleted_rows'.
    *        append ls_sflight to deleted_rows.
    ** If this line was inserted just before it is deleted:
    *        delete me->inserted_rows
    *             where carrid = ls_outtab-carrid
    *             and   connid = ls_outtab-connid
    *             and   fldate = ls_outtab-fldate.
    *      endif.
    *    endloop.
    ** inserted rows
    ** At this point ALV has not added new lines
    ** to gt_outtab, so you can not access their values
    ** by reading gt_outtab.
    ** Table MT_GOOD_CELLS holds new values that can be
    ** referenced using the ROW_ID.
    *    if me->table_is_initial( ) eq 'X'.
    ** No flights were selected initially. This is the first new line.
    *      call method get_cell_values
    *            exporting row_id          = 1
    *                      pr_data_changed = pr_data_changed
    *            importing key             = ls_key.
    *      append ls_key to inserted_rows.
    *      call method me->set_table_is_not_initial.
    *    endif.
    *    loop at pr_data_changed->mt_inserted_rows into l_ins_row.
    *      call method get_cell_values
    *              exporting row_id          = l_ins_row-row_id
    *                        pr_data_changed = pr_data_changed
    *              importing key             = ls_key.
    **      READ TABLE gt_outtab INTO ls_outtab INDEX l_ins_row-row_id.
    ** Just insert the new row regardless if the input is wrong
    *      append ls_key to inserted_rows.
    *    endloop.
      endmethod.                    "update_delta_tables
      method get_cell_values.
    * get values of key cells of row ROW_ID
    ** CARRIER
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'CARRID'
    *               importing
    *                 e_value = key-carrid.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
    ** CONNID
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'CONNID'
    *               importing
    *                 e_value = key-connid.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
    ** FLDATE
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'FLDATE'
    *               importing
    *                 e_value = key-fldate.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
      endmethod.                    "get_cell_values
      method perform_semantic_checks.
    *    data: ls_good type lvc_s_modi,
    *          l_planetype type s_planetye,
    *          l_seatsmax type s_seatsmax.
    *    loop at pr_data_changed->mt_good_cells into ls_good.
    *      case ls_good-fieldname.
    *        when 'PLANETYPE'.
    *          call method pr_data_changed->get_cell_value
    *             exporting
    *               i_row_id = ls_good-row_id
    *               i_fieldname = ls_good-fieldname
    *             importing
    *               e_value = l_planetype.
    *          select single seatsmax from saplane into l_seatsmax
    *                        where planetype = l_planetype.
    *          if sy-subrc ne 0.
    *            call method pr_data_changed->add_protocol_entry
    *                            exporting
    *                 i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *                 i_msgv1 = text-m02
    *                 i_fieldname = ls_good-fieldname
    *                 i_row_id = ls_good-row_id.
    *            error_in_data = 'X'.
    *          else.
    *            call method pr_data_changed->modify_cell
    *              exporting i_row_id    = ls_good-row_id
    *                        i_fieldname = 'SEATSMAX'
    *                        i_value     = l_seatsmax.
    *          endif.
    *      endcase.
    *    endloop.
      endmethod.                    "perform_semantic_checks
      method get_inserted_rows.
    *    inserted_rows = me->inserted_rows.
      endmethod.                    "get_inserted_rows
      method get_deleted_rows.
    *    deleted_rows = me->deleted_rows.
      endmethod.                    "get_deleted_rows
      method refresh_delta_tables.
    *    clear me->inserted_rows[].
    *    clear me->deleted_rows[].
      endmethod.                    "refresh_delta_tables
      method set_table_is_initial.
    *    initial_table = 'X'.
      endmethod.                    "set_table_is_initial
      method set_table_is_not_initial.
    *    initial_table = space.
      endmethod.                    "set_table_is_not_initial
      method table_is_initial.
    *    if initial_table = 'X'.
    *      initial = 'X'.
    *    else.
    *      initial = space.
    *    endif.
      endmethod.                    "table_is_initial
    endclass.                    "lcl_event_receiver IMPLEMENTATION
    data: g_verifier type ref to lcl_event_receiver.
    data: g_max type i value 100.
    data: gs_layout type lvc_s_layo.
    data: ok_code like sy-ucomm,
          save_ok like sy-ucomm.
    parameters: p_ds type c as checkbox.   "delete selection
    select-options s_carrid for sflight-carrid
                                no intervals no-extension default 'LH'.
    select-options s_connid for sflight-connid
                               no intervals no-extension default '0400'.
    start-of-selection.
      g_carrid = s_carrid-low.
      g_connid = s_connid-low.
    * first check airline and connection
      select single * from spfli into gs_spfli
                         where carrid = g_carrid
                         and connid = g_connid.
      call screen 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    module status_0100 output.
      set pf-status 'MAIN100'.
      set titlebar 'MAIN100'.
      if g_custom_container is initial.
        perform create_and_init_alv changing gt_outtab[]
                                             gt_fieldcat.
      endif.
    endmodule.                 " STATUS_0100  OUTPUT
    *&      Form  create_and_init_alv
    *       text
    *      <--P_GT_OUTTAB[]  text
    *      <--P_GT_FIELDCAT  text
    form create_and_init_alv changing pt_outtab like gt_outtab[]
                                      pt_fieldcat type lvc_t_fcat.
      data: lt_exclude type ui_functions.
      create object g_custom_container
             exporting container_name = g_container.
      create object g_grid
             exporting i_parent = g_custom_container.
    * Create Objekt to verify input values.
    * (This object is already needed in form SELECT_DATA).
      create object g_verifier.
    *  SET HANDLER g_verifier->handle_data_changed FOR g_grid.
      perform select_data changing pt_outtab[].
      perform build_fieldcat changing pt_fieldcat.
      perform exclude_tb_functions changing lt_exclude.
      gs_layout-stylefname = 'CELLTAB'.
      call method g_grid->set_table_for_first_display
        exporting
          it_toolbar_excluding = lt_exclude
          is_layout            = gs_layout
        changing
          it_fieldcatalog      = pt_fieldcat
          it_outtab            = pt_outtab[].
    * Set editable cells to ready for input initially
      call method g_grid->set_ready_for_input
        exporting
          i_ready_for_input = 1.
    endform.                    " create_and_init_alv
    *&      Form  select_data
    *       text
    *      <--P_GT_OUTTAB  text
    form select_data changing pt_outtab like gt_outtab[].
      data: lt_sflight type table of sflight,
            ls_sflight type sflight,
            ls_outtab like line of gt_outtab,
            l_index type i,
            ls_spfli type spfli,                                "#EC NEEDED
            lt_celltab type lvc_t_styl.
    * Check parameter 'p_ds'=>optionally select no data
      if p_ds is initial.
    * Select data from sflight
        select * from sflight into table lt_sflight up to g_max rows
                         where carrid = g_carrid
                           and connid = g_connid.
      endif.
      if sy-subrc ne 0 or not p_ds is initial.
    * no flights were found!
    * We provide some default values for the first line that is entered:
        ls_outtab-carrid = g_carrid.
        ls_outtab-connid = g_connid.
        case g_carrid.
          when 'LH'.
            ls_outtab-currency = 'DEM'.
          when others.
            ls_outtab-currency = 'US'.
        endcase.
        ls_outtab-seatsocc = 0.
        ls_outtab-paymentsum = 0.
    * set fields FLDATE, PRICE and PLANETYPE to editable
        perform fill_celltab using 'RW'
                             changing lt_celltab.
        insert lines of lt_celltab into table ls_outtab-celltab.
        append ls_outtab to pt_outtab.
    * Tell Verify-Objekt that the table was initial
        call method g_verifier->set_table_is_initial.
      else.
        call method g_verifier->set_table_is_not_initial.
    * move corresponding fields from lt_sflight to gt_outtab
        loop at lt_sflight into ls_sflight.
          move-corresponding ls_sflight to ls_outtab.
          append ls_outtab to pt_outtab.
        endloop.
    * §3.Set all cells of the table non-editable by using the style table.
        loop at pt_outtab into ls_outtab.
          l_index = sy-tabix.
          refresh lt_celltab.
          perform fill_celltab using 'RO'
                            changing lt_celltab.
    * Copy your celltab to the celltab of the current row of gt_outtab.
          insert lines of lt_celltab into table ls_outtab-celltab.
          modify pt_outtab from ls_outtab index l_index.
        endloop.
      endif.
    endform.                               " select_data
    *&      Form  fill_celltab
    *       text
    *      -->VALUE(P_MODE)  text
    *      -->PT_CELLTAB     text
    form fill_celltab using value(p_mode)
                      changing pt_celltab type lvc_t_styl.
      data: ls_celltab type lvc_s_styl,
            l_mode type raw4.
    * This forms sets the style of columns 'PRICE', FLDATE and PLANETYPE
    * editable
      if p_mode eq 'RW'.
        l_mode = cl_gui_alv_grid=>mc_style_enabled.
      else.                                "p_mode eq 'RO'
        l_mode = cl_gui_alv_grid=>mc_style_disabled.
      endif.
      ls_celltab-fieldname = 'FLDATE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
      ls_celltab-fieldname = 'PRICE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
      ls_celltab-fieldname = 'PLANETYPE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
    endform.                               " FILL_CELLTAB
    *&      Form  BUILD_FIELDCAT
    *       text
    *      <--P_GT_FIELDCAT  text
    form build_fieldcat changing pt_fieldcat type lvc_t_fcat.
      data ls_fcat type lvc_s_fcat.
      call function 'LVC_FIELDCATALOG_MERGE'
        exporting
          i_structure_name = 'SFLIGHT'
        changing
          ct_fieldcat      = pt_fieldcat.
      loop at pt_fieldcat into ls_fcat.
        if    ls_fcat-fieldname eq 'PRICE'
           or ls_fcat-fieldname eq 'PLANETYPE'
           or ls_fcat-fieldname eq 'FLDATE'.
    * §1.Set status of columns FLDATA, PRICE and PLANETYPE to editable.
    *    Since all cells are set to non-editable (see step 3) the cells
    *    of this columns will only be editable for new lines.
          ls_fcat-edit = 'X'.
    * Field 'checktable' is set to avoid shortdumps that are caused
    * by inconsistend data in check tables. You may comment this out
    * when the test data of the flight model is consistent in your system.
          ls_fcat-checktable = '!'.        "do not check foreign keys
          modify pt_fieldcat from ls_fcat.
        elseif ls_fcat-fieldname = 'CARRID'
           or ls_fcat-fieldname = 'CONNID'
           or ls_fcat-fieldname = 'CURRENCY'.
    * §2.Use field AUTO_VALUE of the fieldcatalog to preset values when new
    *    lines are added.
          ls_fcat-auto_value = 'X'.
          ls_fcat-checktable = '!'.   "do not check foreign key relations
          modify pt_fieldcat from ls_fcat.
        endif.
      endloop.
    endform.                    "build_fieldcat
    *&      Form  exclude_tb_functions
    *       text
    *      <--P_LT_EXCLUDE  text
    form exclude_tb_functions changing pt_exclude type ui_functions.
      data ls_exclude type ui_func.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
      append ls_exclude to pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
      append ls_exclude to pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
      append ls_exclude to pt_exclude.
    endform.                               " EXCLUDE_TB_FUNCTIONS
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    module user_command_0100 input.
      save_ok = sy-ucomm.
      clear ok_code.
      case save_ok.
        when 'SAVE'.
    *      perform save_data.
        when 'BACK'.
    * §10.Unlock your database table.
    *      perform unlock_sflight.
          leave to screen 0.
        when 'EXIT'.
          perform exit_program.
        when 'ADD'.
          perform add_line_item.
        when others.
    *     do nothing
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT
    *       FORM EXIT_PROGRAM                                             *
    form exit_program.
      leave program.
    endform.                    "exit_program
    *&      Form  ADD_LINE_ITEM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form add_line_item .
    data: lt_rows type lvc_t_row.
    data: wa_rows type lvc_t_row with header line.
    data: tabix type sy-tabix.
    *&Find the  row ( index ) number
    call method g_grid->get_selected_rows
              importing et_index_rows = lt_rows.
    call method cl_gui_cfw=>flush.
    read table lt_rows into wa_rows index 1.
    tabix = wa_rows-index .
    insert gt_outtab  index tabix.
    *REFRESH_TABLE_DISPLAY
    call method g_grid->refresh_table_display
    *  EXPORTING
    *    IS_STABLE      =
    *    I_SOFT_REFRESH =
    *  EXCEPTIONS
    *    FINISHED       = 1
    *    others         = 2
    if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    endform.                    " ADD_LINE_ITEM
    Thanks,
    Chidanand

  • HOW can I enter text using Japanese character sets?

    The "Text, Plates, Insets" section of the LOOKOUT(6.01) Help files states:
    "Click the » button to the right of the Text field to expand the field for multiple line entries. You can enter text using international character sets such as Chinese, Korean, and Japanese."
    Can someone please explain HOW to do this? Note, I have NO problem inputting Hirigana, Katakana, and Kanji into MS WORD; the keyboard emulates the Japanese layout and characters (Romaji is default) and the IME works fine converting Romaji, and I can also select charcters directly from the IME Pad. I have tried several different fonts with success and am currently using MS UI Gothic.ttf as default. Again, everything is normal and working in a predictable manner within Word.
    I cannot get these texts into Lookout. I can't cut/paste from HTML pages or from text editors, even though both display properly. Within Lookout with JP selected as language/keyboard, when trying to type directly into the text field, the IME CORRECTLY displays Hirigana until <enter> is pressed, at which point all text reverts to question marks (?? ???? ? ?????). If I use the IME Pad, it does pretty much the same. I managed to get the "Yen" symbol to display, though, if that's relevant. As I said, font selected (in text/plate font options) is MS UI Gothic with Japanese as the selected script. Oddly enough, at this point the "sample" window is showing me the exact Hirigana character I want displayed in Lookout, but it won't. I've also tried staying in English and copying unicode characters from the Windows Character Map. Same results (Yen sign works, Hirigana WON'T).
    Help me!
    JW_Tech

    JW_Tech,
    Have you changed the regional setting to Japanese?
    Doug M
    Applications Engineer
    National Instruments
    For those unfamiliar with NBC's The Office, my icon is NOT a picture of me
    Attachments:
    language.JPG ‏50 KB

  • IP : Delete a value in e cell without entering zero

    We have an input ready planning layout created with WAD. In WEB user deletes a value in a cell without entering zero instead. When we refresh data former value appears again. When the user enters zero to the cell we have no problem. When we execute the query with BEX and delete the value in cell without entering zero, there is no problem also. Is there a parameter in WAD to check this?

    Hi
    If you create a "Delete" function and provide the same on layout it will delete the same from the cube. However, the user need to enter the line # which he/she wants to delete from the layout. Ofcourse, entering zero in the input for Key Figure will help delete the values from cube but if it has any corresponding calculations (say salary or revenue)....it will not get nullified. It is always good idea to provide a standard delete function on the layout.
    Regards
    Srinivas

  • Can you create a user entered text field that flows content in a subform?

    I am working on a conversion project taking a document library of over 600 forms from Word into PDF, for the most part it's simple and binding fields to the database schema and using subforms is working quite well - however, there are some instances where there is a combination of user entered fields mixed with database fields and in some cases the end user fields are all there are but the amount of content can vary from 250 characters to thousands.  The project manager wants a PDF that enables users to enter whatever amount of text they need to and have the form layout function the way it does as if all fields were populated by the database - I don't know of a way to make that work unless content is entered in the schema first (or implement CM and have all users working in LiveCycle, but the database uses PDF, sothat's not an option right now).
    If anyone has any ideas how to make these things work I would greatly appreciate hearing about it.
    Thank you so much,
    R

    Hi,
        If you can post your form in the post, I can have a look at it and provide my feedback.
        I created a sample file for your reference..
        1) The Content property for the Page1 was set to Flowed.
        2) Each text box is placed inside a Subform which is also has the content property set to Flowed.
        3) In the Form Properties, under the Default tab, set the PDF render format as Dynamic XML form.
        4) In the Form Properties, under the Preview tab, set the Preview Type as "Interactive Form" and Preview Adobe XML Form as "Dynamic XML form". (this step is for the previewing the PDF in the designer).
        5) Finally save the form as Dynamic XML form. (File Menu -> Save As).
    Hope this helps.
    If you still have issues, please post your form..
    Thanks
    Srini
    Please find the sample file at the below location
    https://acrobat.com/#d=qQohvZGsJrky-sTdPTJbzA

  • Editable / Non editable input field CELL (individually) on ALV dynamically

    Hi again,
    I need more help with an issue.
    I have an ALV table with three columns that is necessary put values into input field cell editors, but these cells should be editable or not depending of business logic. I've got make editable or non in entire ROW LEVEL (method set_read_only_fieldname( 'READ_ONLY' )., but ¿how can I set editable or non at individual cells?
    Any idea to do that?
    Regards
    Edited by: vanbelal on Mar 24, 2010 3:33 PM

    Can you paste any example source code?
    I don't know how can I bind enabled property dynamically to individual CELL, I'm setting properties to whole column.
    lt_columns = lr_column_settings->get_columns( ).
      LOOP AT lt_columns INTO ls_columns.
             if ls_columns-id = 'COLUMN1' or 'COLUMN2' or 'COLUMN3'.
              CREATE OBJECT lr_input_field
                EXPORTING
                  value_fieldname = ls_columns-id.
              ls_columns-r_column->set_cell_editor( lr_input_field ).
    Should I put business logic here? how can I set enabled or not on CELL, at this point I'm processing whole column!!
              lr_input_field->set_enabled( abap_true ).
            endif.
      ENDLOOP.
    Edited by: vanbelal on Mar 24, 2010 4:12 PM

  • Custom field in Bid Quote not editable/input enabled/changable

    Hai All,
        In the SRM Surrogate Bidding process , PO is generated from the Quotation which corresponds to the bid which has been accepted. Now before generating the PO we need to pass the Ordering vendor address information from the Quotation back to the PO. We added a custom field to the Quotation following “ Note 672960 - User-defined fields 2” and it is being added to the ‘BASIC DATA TAB’ in the Header data of the Quotation, but we are not able to enter any values since it is in display mode.
       We then referred “ Note 809630 - Customer field in bid invitation and bid - How does it work? ”  ( after referring Notes 458591 and 672960), and found that we need to implement the methods MODIFY_SCREEN and MODIFY_MODE_QUOT of the BADI BBP_CUF_BADI_2.
             The MODIFY_SCREEN method works fine, but the MODIFY_MODE_QUOT is not getting called during the Bidding process.  MODIFY_MODE_QUOT is already existing in the system as per the “ Note 822424 - CUF. Customer fields cannot be changed in the bid ”. Also Function-Pool SAPLBBP_PDH_CUF does not have any calls to the method MODIFY_MODE_QUOT but it has calls for the other 3 methods present in that BADI.
           We would like to know (1) How we can make this MODIFY_MODE_QUOT work? (2) And if it is working, Will MODIFY_MODE_QUOT along with MODIFY_SCREEN make the field in the Quotation Input enabled, and/or (3) Is there any other way by which we could make the field Input enabled, for the Users to enter some values, before they Click the Generate PO button.
    Please help.
    Thanks,
    Ghanesh

    Hi Ghanesh and SRM experts,
    I went through your link mentioned below and I have the EXACT same issue. I am using SRM 5.5 and I have added a custom field to the quotation item level. I am unable to make this field editable no matter what I do .
    1)  I have gone through all notes mentioned in your scrap and I have implemented them all .
    2) I have added the custom field to INCL_EEW_PD_ITEM_CSF_QUOT and INCL_EEW_PD_ITEM_CSF.
    3) I have also implemented BADI BBP_CUF_BADI_2 and I confirm that the method MODIFY_MODE_QUOT is never getting called. MODIFY_SCREEN is getting called , and the value of the flag ET_FIELDS-XINPUT is always 'X'. Still the quotation field is display only.
    Your post is dated a few months back. If you have solved this problem could you please let me know how.
    Help from anyone who anything about the above will be appreciated.
    Thank You .
    Regards,
    Ajali Sen

Maybe you are looking for

  • Can I create member log-in and data storage with my Muse account?

    I'm looking into the Muse product for a possible new client who will need to collect member data and post it onto the site. I want to know if this function can be created in Muse and with my Muse account.

  • Display Error - People Search Results Page

    Hi Can anyone help me figure out what I've done wrong with this code to get this error?  I'm not a programmer so I'm just trying to get this one thing fixed.  Thanks! Display Error: The display template had an error.  You can correct it by fixing the

  • How to  create a selection screen with two tab strips

    Hi Experts, I need to craete a selection screen '100' with two tab strips, in the 1st tab strip i need create some select options as subscreen and in other tabstrip i need to call the subscren '4000' of the program 'SAPLCTMS' . i need to call this sc

  • VF01 Exit BADI to Postpone or block items in billing plan.

    Hi Experts, The business requirement is where they are not suppose to bill the customer more than the Sales Order value. While positng a invoice with referenceto to an Sales order (VF01) for a perticular order type with a billing plan. I want block i

  • Can I place a restriction on my stored procedure ?

    Sir, I created a stored procedure and granted any user the execution privilage. The only restriction that I want to place on it is that I only want all user to execute the stored procedure in Forms and not in any other programmes. How can I do that ?