Radio buttons breaking validation

Hi all,
I have a major problem with a form in that, bizarrely, radio buttons are breaking the validation of mandatory fields throughout the form.
On trying everything to narrow down what the issue is, strangely this seems to be it. For example, mandatory fields validate up until the first instance of a radio button in the form, where all other successive mandatory fields fail to validate after it. Simply moving a working field to after that first instance of a radio button in the hierarchy breaks it.
Validation is run through a custom submit button using execValidate.
Form elements (including radio buttons, text fields, validation/submit buttons, etc.) have been tested independently, and frustratingly, work when lifted into a new document. Therefore there must be something else in the form that's making it fail. Recreating the form isn't really an option due to it's complexity and size.
Any help would be massively appreciated.
Thanks
EDIT: Fixed. After whittling the form down to bare bones and going though the XML line by line (ouch), turns out the only real different thing between my original (broken) form and a new (working) test form was the target version. So changed back to 9.1. Curious, as using Acrobat XI ...
Message was edited by: JdL

Hi all,
I have a major problem with a form in that, bizarrely, radio buttons are breaking the validation of mandatory fields throughout the form.
On trying everything to narrow down what the issue is, strangely this seems to be it. For example, mandatory fields validate up until the first instance of a radio button in the form, where all other successive mandatory fields fail to validate after it. Simply moving a working field to after that first instance of a radio button in the hierarchy breaks it.
Validation is run through a custom submit button using execValidate.
Form elements (including radio buttons, text fields, validation/submit buttons, etc.) have been tested independently, and frustratingly, work when lifted into a new document. Therefore there must be something else in the form that's making it fail. Recreating the form isn't really an option due to it's complexity and size.
Any help would be massively appreciated.
Thanks
EDIT: Fixed. After whittling the form down to bare bones and going though the XML line by line (ouch), turns out the only real different thing between my original (broken) form and a new (working) test form was the target version. So changed back to 9.1. Curious, as using Acrobat XI ...
Message was edited by: JdL

Similar Messages

  • I have a radio button that loses value on validation error

    Hi All,
    I have a radio button that is normal and then goes to readonly when a condition is true. The page has region with items as well as a tabular report region
    While in readonly state any validation error will cause the radio button to loose it's value.
    ?? Is this a bug or am I doing something wrong?
    Bill

    OK, Got the checkbox working...
    function SaveRes() {
    $x("P36_PRIORITY_RB").disabled=false;
    elmName = $x('P36_I_PRIORITY_0').name;
    elm = document.getElementsByName(elmName);
    for (i=0; i<elm.length; i++) {
    elm.disabled=false;
    doSubmit('SAVE');
    BUT ---- this part is now firing at the page rendering and doesn't fire when a validation is hit...
    DECLARE
    l_DynJS VARCHAR2(2000);
    BEGIN
    l_DynJS:='<script type="text/javascript"> '||chr(10)||
    ' $x("P36_PRIORITY_RB").disabled=true; '||chr(10)||
    ' elmName = $x(''P36_I_PRIORITY_0'').name; '||chr(10)||
    ' elm = document.getElementsByName(elmName);'||chr(10)||
    ' for (i=0; i<elm.length; i++) {              '||chr(10)||
    ' elm[i].disabled=true; '||chr(10)||
    ' } '||chr(10)||
    '</script>';
    htp.p(l_DynJS);
    END;

  • PHP Form Validation: Radio Buttons

    Hey everyone -
    I'm trying to do two things here with an addition to one of
    my forms using
    PHP.
    1. Attempting to validate if one of the radio buttons has
    been selected.
    2. Displaying which radio button is selected once the page is
    reloaded
    (checking for validation errors). That is - if they've
    selected a radio
    button but didn't fill in the other area - I want the radio
    button they've
    already selected to be actually "selected" once the page
    reloads.
    Here is the series of radio buttons:
    <input type="radio" name="subject" id="subject1" value="1"
    />
    <label for="subject1" class="labelbold">I wish to
    contact you regarding
    website design</label><br />
    <input type="radio" name="subject" id="subject2" value="2"
    />
    <label for="subject2" class="labelbold">I wish to
    report a technical
    error</label><br />
    <input type="radio" name="subject" id="subject3" value="3"
    />
    <label for="subject3" class="labelbold">I wish to
    report an error with the
    copy</label><br />
    <input type="radio" name="subject" id="subject4" value="4"
    />
    <label for="subject4"
    class="labelbold">Other</label><br />
    This is how I'm validating my checkboxes:
    if($_POST['confirmbox'] == false) $error[] = "Check the
    Privacy Policy
    Agreement Box";
    However, using "false" doesn't seem to matter with the radio
    buttons. So,
    how can I get the radio buttons to validate that ONE was
    selected and how
    can I show that selected button on a page reload (I'm
    thinking I may need to
    dynamically generate the value=""....<?php...?>....?).
    Thanks!
    Shane H
    [email protected]
    http://www.avenuedesigners.com
    =============================================
    Proud GAWDS Member
    http://www.gawds.org/showmember.php?memberid=1495
    Delivering accessible websites to all ...
    =============================================

    Hello there -
    After no replies - I decided to strain my brain (ha-ha) - and
    finally
    figured out the solution to the problem.
    For the curious - I added this to each <input...>
    field:
    <?php if($_POST['subject'] == "1") echo'
    checked="checked"';?>
    And then for each <input...> I changed the "1" to the
    corresponding value
    each field was given.
    Have a wonderful night. :)
    Shane H
    [email protected]
    http://www.avenuedesigners.com
    =============================================
    Proud GAWDS Member
    http://www.gawds.org/showmember.php?memberid=1495
    Delivering accessible websites to all ...
    =============================================
    "Shane H" <[email protected]> wrote in
    message
    news:[email protected]...
    > Hey everyone -
    >
    > I'm trying to do two things here with an addition to one
    of my forms using
    > PHP.
    >
    > 1. Attempting to validate if one of the radio buttons
    has been selected.
    >
    > 2. Displaying which radio button is selected once the
    page is reloaded
    > (checking for validation errors). That is - if they've
    selected a radio
    > button but didn't fill in the other area - I want the
    radio button they've
    > already selected to be actually "selected" once the page
    reloads.
    >
    > Here is the series of radio buttons:
    >
    > <input type="radio" name="subject" id="subject1"
    value="1" />
    > <label for="subject1" class="labelbold">I wish to
    contact you regarding
    > website design</label><br />
    >
    > <input type="radio" name="subject" id="subject2"
    value="2" />
    > <label for="subject2" class="labelbold">I wish to
    report a technical
    > error</label><br />
    >
    > <input type="radio" name="subject" id="subject3"
    value="3" />
    > <label for="subject3" class="labelbold">I wish to
    report an error with the
    > copy</label><br />
    >
    > <input type="radio" name="subject" id="subject4"
    value="4" />
    > <label for="subject4"
    class="labelbold">Other</label><br />
    >
    > This is how I'm validating my checkboxes:
    >
    > if($_POST['confirmbox'] == false) $error[] = "Check the
    Privacy Policy
    > Agreement Box";
    >
    > However, using "false" doesn't seem to matter with the
    radio buttons. So,
    > how can I get the radio buttons to validate that ONE was
    selected and how
    > can I show that selected button on a page reload (I'm
    thinking I may need
    > to dynamically generate the
    value=""....<?php...?>....?).
    >
    > Thanks!
    >
    > --
    > Shane H
    > [email protected]
    >
    http://www.avenuedesigners.com
    >
    > =============================================
    > Proud GAWDS Member
    >
    http://www.gawds.org/showmember.php?memberid=1495
    >
    > Delivering accessible websites to all ...
    > =============================================
    >
    >
    >

  • Best Practice for validating radio buttons

    Hi,
    I'm building a form which has quite a lot of questions that a
    user answers my selecting a radio button. All the questions are
    required. Could someone please advise me what the best practice is
    for validating a radio button in a radio button group is checked?
    There doesn't seem to be much information out there on this
    one???
    Thanks...

    Have you found a solution? If yes can you please give me a
    short description?
    Thanks.

  • VALIDATION IN RADIO BUTTONS

    Hi every body ,
    Is it possible validate to different radio button groups ?
    Here is my JSF code :
    <h:selectOneRadio
        id="radio1"  
        layout="pageDirection"
        immediate ="true"
        value="#{multiSiteBacking.radio1Value}"
        valueChangeListener="#{multiSiteBacking.radio1Action}"
        required="true">
    <f:selectItem  itemLabel="Radio1" itemValue="4" />
    <a4j:support event="onclick" reRender="form" />
    </h:selectOneRadio>
    <h:selectOneRadio
        id="radio2"  
        layout="pageDirection"
        immediate ="true"
        value="#{multiSiteBacking.radio2Value}"
        valueChangeListener="#{multiSiteBacking.radio2Action}"
        required="true">
    <f:selectItem  itemLabel="Radio2" itemValue="4" />
    <a4j:support event="onclick" reRender="form" />
    </h:selectOneRadio>Here , when I am, clicking the Radio1 / Radio2 the validation of Radio2/Radio1 should be false .
    Is it possible assiging validation dynamically ?
    Thanks,
    SB

    Thanks again ,
    I have implimented ajaxSingle="true" and immediate="true" in my app , but it is giving a different problem.
    When user clicking the radio1 the radio2's value should be null & exactly opposite for radio2.For that reason am using a small code something like this in radio1 and radio2's valueChangeListener :
    PhaseId phaseId = valueChangeEvent.getPhaseId();
                  if (phaseId.equals(PhaseId.ANY_PHASE))
                       valueChangeEvent.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
                       valueChangeEvent.queue();
                      return;
    //For radio1 action
    //this.setRadio2Value(null);
    //For radio2 action
    //this.setRadio1Value(null); By this way I am able to achieve the check un-check functionality on my app.
    My radio1 and radio2's check un-check functionality is going perfect , but I am not able to validate both radio buttons.If I commenting out all those PHASE related code then only it is working fine .But at the same time my check un-check functionality is not working.
    Here is my small jsf view code :
    <h:selectOneRadio
         id="radio1"
         layout="pageDirection"
         immediate ="true"
         value="#{multiSiteBacking.radio1Value}"
            valueChangeListener="#{multiSiteBacking.radio1Action}"
         required="#{multiSiteBacking.radio1ValueCheck}" >
    <f:selectItem itemLabel="Radio1" itemValue="1" />
    <a4j:support event="onclick" ajaxSingle="true" reRender="form" />
    </h:selectOneRadio>
    <h:message rendered="#{multiSiteBacking.radio1ValueCheck}" for="radio1" />     
    <h:selectOneRadio
         id="radio2"
         layout="pageDirection"
         immediate ="true"
         value="#{multiSiteBacking.radio2Value}"
            valueChangeListener="#{multiSiteBacking.radio2Action}"
         required="#{multiSiteBacking.radio2ValueCheck}" >
    <f:selectItem itemLabel="Radio1" itemValue="1" />
    <a4j:support event="onclick" ajaxSingle="true" reRender="form" />
    </h:selectOneRadio>
    <h:message rendered="#{multiSiteBacking.radio2ValueCheck}" for="radio2" />     Here is my backing bean code :
    //For required fields:
    private boolean radio1ValueCheck=true;
    private boolean radio2ValueCheck=true;
    //radio1 and radio2's value
    private String radio1Value;
    private String radio2Value;
    //For radio1
    public void radio1Action(ValueChangeEvent valueChangeEvent) throws Exception
           PhaseId phaseId = valueChangeEvent.getPhaseId();
         if (phaseId.equals(PhaseId.ANY_PHASE))
                 valueChangeEvent.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
                 valueChangeEvent.queue();
                 return;
           this.setRadio2Value(null);
          this.radio1ValueCheck(false);
          this.radio2ValueCheck(false);
    //For radio2     
    public void radio2Action(ValueChangeEvent valueChangeEvent) throws Exception
            PhaseId phaseId = valueChangeEvent.getPhaseId();
         if (phaseId.equals(PhaseId.ANY_PHASE))
                 valueChangeEvent.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
                 valueChangeEvent.queue();
                 return;
            this.setRadio1Value(null);
            this.radio1ValueCheck(false);
            this.radio2ValueCheck(false);
    //Getter and setter are here....This is my problem.
    If you need more explanation please let me know .
    regards,
    SB

  • Help with validating radio buttons

    I would like to set my radio button so they can only click it after they have entered text into the 2 previous text fields.  Can someone help me out with a script how to do that?
    Thanks

    Please try the following Script :
    // Function to enable form fields function
    EnableFormField (cFieldName) {
    // First acquire the field to be enabled
    var oFld = this.getField(cFieldName)
    // Next acquire the hidden field with the normal colors
    var oNmlFld = this.getField("NormalColorsFld");
    if(oFld) {
    // Make field interactive
    oFld.readonly = false;
    // Restore Normal Colors
    oFld.fillColor = oNmlFld.fillColor; oFld.borderColor = oNmlFld.borderColor; oFld.textColor = oNmlFld.textColor;
    // Function to disable form fields function
    DisableFormField(cFieldName) {
    // First acquire the field to be disabled
    var oFld = this.getField(cFieldName)
    if(oFld) {
    // Make field Read-Only
    oFld.readonly = true;
    // Set Grayed out colors
    oFld.fillColor = ["G", 0.75]; oFld.borderColor = ["G", 2/3]; oFld.textColor = ["G", 0.5];

  • Is "AutoPostback" property valid for Radio button control in RCDC

    Hi,
    I have been trying to add "Autopostback" property to a radio button control, but it doesnt seem to be working.
    Below is the code:
    <my:Control
    my:Name="Activation"
    my:TypeName="UocSimpleRadioButton"
    my:Caption="{Binding
    Source=schema, Path=ADActivation.DisplayName}"
    my:Description="{Binding
    Source=schema, Path=ADActivation.Description}"
    my:AutoPostback="true"
    my:RightsLevel="{Binding
    Source=rights, Path=ADActivation}">
    <my:Properties>
    <my:Property
    my:Name="TrueText"
    my:Value="ADActive"/>
    <my:Property
    my:Name="FalseText"
    my:Value="NotActive"/><my:Property
    my:Name="SelectedItem"
    my:Value="{Binding
    Source=object, Path=ADActivation, Mode=TwoWay}" /></my:Properties></my:Control>
    Dolly

    Dolly,
    What do you expect the AutoPostback property to do?
    AutoPostback: This is an optional,
    Boolean-type attribute. The default value is false.
    If set to false, refreshing
    the page may not refresh the control. For information about AutoPostback,
    look for the Microsoft ASP.NET UI control property of the same name. -- FIM RCDC Reference
    According to MSDN:
    Set this property to true if the server needs to capture the selection as soon as it is made. For example, other controls on the Web page can be automatically filled depending on the user's selection from a list
    control.
    This property can be used to allow automatic population of other controls on the Web page based on a user's selection from a list.
    Blain Checkley illustrates its use with his blog post: http://identityminded.wordpress.com/2011/10/14/fim2010-semi-dynamic-rcdc-operations/
    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

  • How to raise pop up window along with radio buttons in module pool program

    how to raise pop up window along with radio buttons in module pool program

    FUNCTION zscheme_determination.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(I_KUNNR) TYPE  KUNNR
    *"  EXPORTING
    *"     REFERENCE(E_VALUE) TYPE  NETWR_AK
    *"  TABLES
    *"      G_ITEM_DATA_ITAB STRUCTURE  ZITEM_DATA
    *  TYPES: BEGIN OF ty_sord,
    *         include type ZSD_SCHEME_DTL,
    *         END   OF ty_sord.
    *  data : gt_sord type standard table of ZSD_SCHEME_DTL,
    *         wa_sord type ZSD_SCHEME_DTL.
    *  select * from ZSD_SCHEME_DTL into table
    *  gt_sord
    *  where matnr = i_matnr.
    *  T_ITEM_DATA
    *********Data Declarations
       DATA:
             salesdocumentin LIKE bapivbeln-vbeln,
             orderheaderin LIKE bapisdhd1,
             orderheaderinx LIKE bapisdhd1x,
             sender LIKE bapi_sender,
             binaryrelationshiptype LIKE bapireltype-reltype,
             intnumberassignment LIKE bapiflag-bapiflag,
             behavewhenerror LIKE bapiflag-bapiflag,
             logicswitch LIKE bapisdls,
             testrun LIKE bapiflag-bapiflag,
             convert LIKE bapiflag-bapiflag,
             return LIKE bapiret2 OCCURS 0,
             orderitemsin LIKE bapisditm OCCURS 0,
             orderitemsinx LIKE bapisditmx OCCURS 0,
             orderpartners LIKE bapiparnr OCCURS 0,
             orderschedulesin LIKE bapischdl OCCURS 0,
             orderschedulesinx LIKE bapischdlx OCCURS 0,
             orderconditionsin LIKE bapicond OCCURS 0,
             orderconditionsinx LIKE bapicondx OCCURS 0,
             ordercfgsref LIKE bapicucfg OCCURS 0,
             ordercfgsinst LIKE bapicuins OCCURS 0,
             ordercfgspartof LIKE bapicuprt OCCURS 0,
             ordercfgsvalue LIKE bapicuval OCCURS 0,
             ordercfgsblob LIKE bapicublb OCCURS 0,
             ordercfgsvk LIKE bapicuvk OCCURS 0,
             ordercfgsrefinst LIKE bapicuref OCCURS 0,
             orderccard LIKE bapiccard OCCURS 0,
             ordertext LIKE bapisdtext OCCURS 0,
             orderkeys LIKE bapisdkey OCCURS 0,
             extensionin LIKE bapiparex OCCURS 0,
             partneraddresses LIKE bapiaddr1 OCCURS 0.
       DATA : wa_orderpartners LIKE bapiparnr,
              wa_orderitemsin LIKE bapisditm,
              wa_orderitemsinx LIKE bapisditmx,
              wa_orderschedulesin LIKE bapischdl,
              wa_orderschedulesinx LIKE bapischdlx,
              wa_orderconditionsin LIKE bapicond,
              wa_orderconditionsinx LIKE bapicondx,
              wa_return LIKE bapiret2,
              lv_value TYPE netwr_ak.
       DATA : lv_dtyp TYPE char45,
              lv_sorg TYPE vkorg,
              lv_sdch TYPE vtweg,
              lv_sdiv TYPE spart.
       TYPES : BEGIN OF ty_sord,
               zsdscheme TYPE comt_scheme_id,
               posnr TYPE posnr_va,
               matnr TYPE matnr,
               disc_type TYPE rebate_disc_type,
               calc_type TYPE catyp,
               qty_from TYPE kwmeng,
               qty_to TYPE kwmeng,
               spart TYPE spart,
               custcondgrp TYPE kdkg1,
               werks TYPE werks_d,
               matmn TYPE matnr,
               END   OF ty_sord.
       DATA : gt_sord   TYPE STANDARD TABLE OF ty_sord,
              gt_sordd  TYPE STANDARD TABLE OF ty_sord,
              wa_sord TYPE ty_sord,
              wa_knvv TYPE knvv,
              lv_cal_foc TYPE p DECIMALS 3,
              lv_cal_dis TYPE p DECIMALS 3,
              lv_new_qty TYPE kwmeng,
              lv_posmat TYPE posnr_va,
              lv_posfoc TYPE posnr_va.
       DATA:lv_diff TYPE kwmeng.
    ******Schemes Selection Logic
    * Get Valid Schemes
    * Validate Scheme for validity Period, Material, Customer Type and Plant
       TYPES : BEGIN OF ty_rtab,
               sign   TYPE c LENGTH 1,
               option TYPE c LENGTH 2,
               low    LIKE mara-matnr,
               high   LIKE mara-matnr,
             END OF ty_rtab.
    *  TYPES : ty_matnr TYPE RANGE OF ty_rtab.
       DATA : it_matnr TYPE TABLE OF ty_rtab,
              wa_matnr TYPE ty_rtab,
              wa_it    TYPE zitem_data,
             wa_tab TYPE zitem_data.
    *order table declaration
       TYPES:
             BEGIN OF ty_order,
               zsdscheme TYPE comt_scheme_id,
               matnr     TYPE matnr,
               kwmeng    TYPE kwmeng,
             END OF ty_order,
       BEGIN OF ty_scheme,
        zsdscheme TYPE comt_scheme_id,
    *                matnr     TYPE matnr,
        kwmeng    TYPE kwmeng,
      END OF ty_scheme.
       DATA:
             gt_order      TYPE TABLE OF ty_order,
             gt_scheme     TYPE TABLE OF ty_scheme,
              wa_scheme    TYPE ty_scheme,
              wa_order     TYPE  ty_order.
       DATA:i_kwmeng TYPE kwmeng.
    * Transfer all the material received from order to internal table
       LOOP AT g_item_data_itab INTO wa_it.
         MOVE : wa_it-matnr TO wa_matnr-low,
                'I'          TO wa_matnr-sign,
                'EQ'         TO wa_matnr-option.
         APPEND wa_matnr TO it_matnr.
         CLEAR wa_it.
       ENDLOOP.
    * Get the Valid Schemes based on given criteria
       SELECT
               zsd_scheme_dtl~zsdscheme
               zsd_scheme_dtl~posnr
               zsd_scheme_dtl~matnr
               zsd_scheme_dtl~disc_type
               zsd_scheme_dtl~calc_type
               zsd_scheme_dtl~qty_from
               zsd_scheme_dtl~qty_to
               zsd_scheme~spart
               zsd_scheme_hdr~custcondgrp
               zsd_scheme_hdr~werks
               zsd_scheme_hdr~matnr
       FROM zsd_scheme_hdr
       INNER JOIN zsd_scheme ON zsd_scheme~zsdscheme = zsd_scheme_hdr~zsdscheme
       INNER JOIN zsd_scheme_dtl ON zsd_scheme_dtl~zsdscheme = zsd_scheme_hdr~zsdscheme
       INTO TABLE  gt_sord
       WHERE  zsd_scheme_dtl~matnr IN it_matnr
    *    zsd_scheme_hdr~matnr IN it_matnr
    *    AND zsd_scheme_hdr~werks = '1509'
         AND zsd_scheme_hdr~werks = '1529'
         AND zsd_scheme_hdr~custcondgrp = '01'
         AND zsd_scheme~datuv LE sy-datum
         AND zsd_scheme~datub GE sy-datum.
       SORT gt_sord BY zsdscheme ASCENDING.
    *  LOOP AT gt_sord INTO wa_sord.
    *    READ TABLE g_item_data_itab INTO wa_it WITH  KEY matnr = wa_sord-matnr.
    *    wa_order-zsdscheme = wa_sord-zsdscheme.
    *    wa_order-matnr = wa_it-matnr.
    *    wa_order-kwmeng = wa_it-kwmeng.
    *    COLLECT wa_order INTO gt_order.
    *    CLEAR wa_order.
    *  ENDLOOP.
       LOOP AT g_item_data_itab INTO wa_it.
         READ TABLE gt_sord INTO wa_sord WITH  KEY matnr = wa_it-matnr.
         wa_order-zsdscheme = wa_sord-zsdscheme.
         wa_order-matnr = wa_it-matnr.
         wa_order-kwmeng = wa_it-kwmeng.
         COLLECT wa_order INTO gt_order.
         MOVE : wa_sord-zsdscheme  TO wa_scheme-zsdscheme,
                wa_it-kwmeng  TO wa_scheme-kwmeng.
         COLLECT wa_scheme INTO gt_scheme.
         CLEAR : wa_order, wa_scheme.
       ENDLOOP.
       CLEAR wa_scheme.
       DATA w_line TYPE sy-tabix.
    * Updating table based on Schemes
       LOOP AT gt_scheme INTO wa_scheme.
         CLEAR w_line.
         gt_sordd[] = gt_sord[].
    *    DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme and disc_type NE 'FOC'.
         DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme AND disc_type NE 'F'.
         DELETE ADJACENT DUPLICATES FROM gt_sordd COMPARING zsdscheme matnr.
         DESCRIBE TABLE gt_sordd LINES w_line.
         IF w_line GT 1.
    * popup message to select one foc type.
         ELSE.
           CLEAR wa_sord.
           READ TABLE gt_sordd INTO wa_sord INDEX 1.
           IF sy-subrc EQ 0.
             i_kwmeng = wa_scheme-kwmeng.
             lv_cal_foc = i_kwmeng DIV wa_sord-qty_from.
             lv_cal_dis = i_kwmeng MOD wa_sord-qty_from.
             MOVE : lv_cal_foc TO wa_it-kwmeng,
                    wa_sord-matnr TO wa_it-matnr.
             APPEND  wa_it TO g_item_data_itab.
             SORT gt_order BY kwmeng DESCENDING.
             LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
               IF lv_cal_dis GT 0.
    *        LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme
    *                                             AND lv_cal_dis GT 0.
    *                  LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
    *                LOOP AT g_item_data INTO wa_item_data WHERE matnr EQ wa_order-matnr.
                         LOOP AT g_item_data_itab INTO wa_tab WHERE matnr EQ wa_order-matnr.
                           wa_orderconditionsin-itm_number = wa_tab-posnr.
    *                  wa_orderconditionsin-itm_number = wa_item_data-posnr.
                           wa_orderconditionsin-cond_st_no = '001'.
    *                  IF gt_sordd-calc EQ ‘post AND disc_type EQ ‘percentage’.
                           IF wa_sord-calc_type EQ 'O' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZTPB'.   "'ZREG'.
    *                  ELSEIF gt_sordd-calc EQ ‘pre’ AND disc_type EQ ‘percentage’
                           ELSEIF wa_sord-calc_type EQ 'E' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZTPP'.   "'ZREG'.
                           ENDIF.
                           wa_orderconditionsin-currency = 'INR'.
                           wa_orderconditionsin-conpricdat = sy-datum.
                           APPEND wa_orderconditionsin TO orderconditionsin.
                           CLEAR wa_orderconditionsin.
    *Update Discount Conditon
                         ENDLOOP.
    *                  ENDLOOP.
    *Modify balance of Item
                 CLEAR wa_tab.
                 READ TABLE g_item_data_itab INTO wa_tab WITH KEY matnr = wa_order-matnr.
                 IF sy-subrc EQ 0.
                   lv_diff = wa_tab-kwmeng - lv_cal_dis.
                   IF lv_diff GT 0.
                     wa_tab-kwmeng  = wa_tab-kwmeng - lv_cal_dis.
    *            MODIFY g_item_data TRANSPORTING kwmeng  index sy-tabix.
                     MODIFY g_item_data_itab INDEX sy-tabix FROM wa_tab TRANSPORTING kwmeng  .
                   ELSE.
                     wa_tab-kwmeng  =  lv_cal_dis.
                     lv_cal_dis  = lv_diff.
                     MODIFY g_item_data_itab INDEX sy-tabix FROM wa_tab TRANSPORTING kwmeng .
    *            MODIFY G_ITEM_DATA_ITAB TRANSPORTING kwmeng index sy-tabix.
                   ENDIF.
                   gt_sordd[] = gt_sord[].
                   DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme AND disc_type EQ 'F'.
                   DESCRIBE TABLE gt_sordd LINES w_line.
                   IF w_line GT 1.
                     SORT gt_sordd BY zsdscheme DESCENDING.
    *              SORT gt_sordd BY quantity DESCENDING.
                     CLEAR wa_sord.
    *              LOOP AT gt_sordd WHERE quantity_from LT wa_shceme-kwmeng AND quantity_to GT wa_shceme-kwmeng.
                     LOOP AT gt_sordd INTO wa_sord  WHERE qty_from LT wa_scheme-kwmeng AND qty_to GT wa_scheme-kwmeng.
    *             LOOP AT gt_order INTO wa_order WHERE scheme = wa_scheme-scheme.
                       LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
    *                LOOP AT g_item_data INTO wa_item_data WHERE matnr EQ wa_order-matnr.
                         LOOP AT g_item_data_itab INTO wa_tab WHERE matnr EQ wa_order-matnr.
                           wa_orderconditionsin-itm_number = wa_tab-posnr.
    *                  wa_orderconditionsin-itm_number = wa_item_data-posnr.
                           wa_orderconditionsin-cond_st_no = '001'.
    *                  IF gt_sordd-calc EQ ‘post AND disc_type EQ ‘percentage’.
                           IF wa_sord-calc_type EQ 'O' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
    *                  ELSEIF gt_sordd-calc EQ ‘pre’ AND disc_type EQ ‘percentage’
                           ELSEIF wa_sord-calc_type EQ 'E' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
                           ENDIF.
                           wa_orderconditionsin-currency = 'INR'.
                           wa_orderconditionsin-conpricdat = sy-datum.
                           APPEND wa_orderconditionsin TO orderconditionsin.
                           CLEAR wa_orderconditionsin.
    *Update Discount Conditon
                         ENDLOOP.
                       ENDLOOP.
                     ENDLOOP.
                   ELSE.
                   ENDIF.
                 ENDIF.
               ENDIF.
             ENDLOOP.
           ENDIF.
         ENDIF.
       ENDLOOP.
    *  select
    *          ZSD_SCHEME_DTL~ZSDSCHEME
    *          ZSD_SCHEME_DTL~POSNR
    *          ZSD_SCHEME_DTL~matnr
    *          ZSD_SCHEME_DTL~DISC_TYPE
    *          ZSD_SCHEME_DTL~CALC_TYPE
    *          ZSD_SCHEME_DTL~QTY_FROM
    *          ZSD_SCHEME_DTL~QTY_TO
    *          ZSD_SCHEME~SPART
    *          ZSD_SCHEME_HDR~CUSTCONDGRP
    *          ZSD_SCHEME_HDR~WERKS
    *          ZSD_SCHEME_HDR~MATNR
    *  from ZSD_SCHEME_DTL
    *  inner join ZSD_SCHEME on ZSD_SCHEME~ZSDSCHEME = ZSD_SCHEME_DTL~ZSDSCHEME
    *  inner join ZSD_SCHEME_HDR on ZSD_SCHEME_HDR~ZSDSCHEME = ZSD_SCHEME_DTL~ZSDSCHEME
    *  into table
    *  gt_sord
    *  where ZSD_SCHEME_DTL~matnr = i_matnr and
    *        ZSD_SCHEME~DATUV LE sy-datum and
    *        ZSD_SCHEME~DATUB GE sy-datum.
    *  break-point.
    * Process Common Logic for Schemes Processcing
       CLEAR wa_sord.
    * Convert FOC Quantity and Materials
    *  LOOP AT gt_sord INTO wa_sord.
    **   lv_cal = i_kwmeng / wa_sord-QTY_FROM.
    *    lv_cal_foc = i_kwmeng DIV wa_sord-qty_from.
    *    lv_cal_dis = i_kwmeng MOD wa_sord-qty_from.
    *  ENDLOOP.
    *lv_new_qty = i_kwmeng - lv_cal_dis.
    * Get the Sales Document Type
       SELECT SINGLE low
    FROM tvarvc
    INTO  lv_dtyp WHERE
    name = 'SD_DOC_TYPE'.
       SELECT SINGLE * FROM knvv INTO wa_knvv WHERE kunnr = i_kunnr.
       IF sy-subrc = 0.
         lv_sorg = wa_knvv-vkorg.
         lv_sdch = wa_knvv-vtweg.
         lv_sdiv = wa_knvv-spart.
       ENDIF.
    * Give the Popup for schemes with multiple FOC
    * Schemes Specific Processing
    * Schemes Specific Processing
       orderheaderin-doc_type = lv_dtyp.
       orderheaderin-sales_org = lv_sorg.
       orderheaderin-distr_chan = lv_sdch.
       orderheaderin-division = lv_sdiv.
       wa_orderpartners-partn_role = 'AG'.
       wa_orderpartners-partn_numb = i_kunnr.
       APPEND wa_orderpartners TO orderpartners.
    *    wa_ORDERPARTNERS-PARTN_ROLE = 'WE'.
    *    wa_ORDERPARTNERS-PARTN_NUMB = p_ship.
    *    append wa_ORDERPARTNERS to ORDERPARTNERS.
    * Item number begin
       CLEAR : lv_posmat.
       lv_posmat = lv_posmat + 10.
       wa_orderitemsin-itm_number = lv_posmat.
       wa_orderitemsin-material = wa_sord-matmn.  "i_matnr.
       wa_orderitemsin-target_qty = lv_new_qty.
    *  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
       APPEND wa_orderitemsin TO orderitemsin.
       wa_orderitemsinx-itm_number = lv_posmat.
       wa_orderitemsinx-material = 'X'.
       wa_orderitemsinx-target_qty = 'X'.
       wa_orderitemsinx-target_qu = 'X'.
       APPEND wa_orderitemsinx TO orderitemsinx.
       wa_orderschedulesin-itm_number = lv_posmat.
       wa_orderschedulesin-sched_line = lv_posmat.
       wa_orderschedulesin-req_qty = lv_new_qty.
       APPEND wa_orderschedulesin TO orderschedulesin.
       wa_orderschedulesinx-itm_number = lv_posmat.
       wa_orderschedulesinx-sched_line = lv_posmat.
       wa_orderschedulesinx-req_qty  = 'X'.
       wa_orderschedulesinx-updateflag = 'X'.
       APPEND wa_orderschedulesinx TO orderschedulesinx.
       wa_orderconditionsin-itm_number = lv_posmat.
       wa_orderconditionsin-cond_st_no = '001'.
       wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
       wa_orderconditionsin-currency = 'INR'.
       wa_orderconditionsin-conpricdat = sy-datum.
       APPEND wa_orderconditionsin TO orderconditionsin.
       wa_orderconditionsinx-itm_number = lv_posmat.
       wa_orderconditionsinx-cond_st_no = '001'.
       wa_orderconditionsinx-cond_type = 'ZDPD'. "'ZREG'.
       wa_orderconditionsinx-updateflag = 'X'.
       wa_orderconditionsinx-cond_value ='X'.
       wa_orderconditionsinx-currency = 'X'.
       APPEND wa_orderconditionsinx TO orderconditionsinx.
    ****18/06Beg
    *  if not lv_cal_dis is initial.
    *    lv_posmat = lv_posmat + 10.
    *    wa_ORDERITEMSIN-ITM_NUMBER = lv_posmat.
    *    wa_ORDERITEMSIN-MATERIAL = WA_SORD-MATMN.  "i_matnr.
    *    wa_ORDERITEMSIN-TARGET_QTY = lv_cal_dis.
    **  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
    *    append wa_ORDERITEMSIN to ORDERITEMSIN.
    *    wa_ORDERITEMSINX-ITM_NUMBER = lv_posmat.
    *    wa_ORDERITEMSINX-MATERIAL = 'X'.
    *    wa_ORDERITEMSINX-TARGET_QTY = 'X'.
    *    wa_ORDERITEMSINX-TARGET_QU = 'X'.
    *    append wa_ORDERITEMSINX to ORDERITEMSINX.
    *    wa_ORDERSCHEDULESIN-ITM_NUMBER = lv_posmat.
    *    wa_ORDERSCHEDULESIN-SCHED_LINE = lv_posmat.
    *    wa_ORDERSCHEDULESIN-REQ_QTY = lv_cal_dis.
    *    append wa_ORDERSCHEDULESIN to ORDERSCHEDULESIN.
    *    wa_ORDERSCHEDULESINX-itm_number = lv_posmat.
    *    wa_ORDERSCHEDULESINX-sched_line = lv_posmat.
    *    wa_ORDERSCHEDULESINX-req_qty  = 'X'.
    *    wa_ORDERSCHEDULESINX-updateflag = 'X'.
    *    append wa_ORDERSCHEDULESINX to ORDERSCHEDULESINX.
    *  endif.
    *  lv_posmat = lv_posmat + 10.
    *  wa_ORDERITEMSIN-ITM_NUMBER = lv_posmat.
    *  wa_ORDERITEMSIN-MATERIAL = i_matnr.  "WA_SORD-MATMN.
    *  wa_ORDERITEMSIN-TARGET_QTY = LV_CAL_FOC.
    *  wa_ORDERITEMSIN-ITEM_CATEG = 'ZDGN'.
    **  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
    *  append wa_ORDERITEMSIN to ORDERITEMSIN.
    *  wa_ORDERITEMSINX-ITM_NUMBER = lv_posmat.
    *  wa_ORDERITEMSINX-MATERIAL = 'X'.
    *  wa_ORDERITEMSINX-TARGET_QTY = 'X'.
    *  wa_ORDERITEMSINX-TARGET_QU = 'X'.
    *  wa_ORDERITEMSINX-ITEM_CATEG = 'X'.
    *  append wa_ORDERITEMSINX to ORDERITEMSINX.
    *  wa_ORDERSCHEDULESIN-ITM_NUMBER = lv_posmat.
    *  wa_ORDERSCHEDULESIN-SCHED_LINE = lv_posmat.
    *  wa_ORDERSCHEDULESIN-REQ_QTY = LV_CAL_FOC.
    *  append wa_ORDERSCHEDULESIN to ORDERSCHEDULESIN.
    *  wa_ORDERSCHEDULESINX-itm_number = lv_posmat.
    *  wa_ORDERSCHEDULESINX-sched_line = lv_posmat.
    *  wa_ORDERSCHEDULESINX-req_qty  = 'X'.
    *  wa_ORDERSCHEDULESINX-updateflag = 'X'.
    *  append wa_ORDERSCHEDULESINX to ORDERSCHEDULESINX.
    ****18/06End
    * Item number end
    * Switch off dialog (BAPIs always run without)
       CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
       CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
         EXPORTING
    *     SALESDOCUMENTIN               =
         order_header_in               = orderheaderin
    *     ORDER_HEADER_INX              =
    *     SENDER                        =
    *     BINARY_RELATIONSHIPTYPE       =
    *     INT_NUMBER_ASSIGNMENT         =
    *     BEHAVE_WHEN_ERROR             =
    *     LOGIC_SWITCH                  =
    *     TESTRUN                       =
    *     CONVERT                       = ' '
    *   IMPORTING
    *     SALESDOCUMENT                 =
       TABLES
         return                        = return
         order_items_in                = orderitemsin
         order_items_inx               = orderitemsinx
         order_partners                = orderpartners
         order_schedules_in            = orderschedulesin
         order_schedules_inx           = orderschedulesinx
         order_conditions_in           = orderconditionsin
         order_conditions_inx          = orderconditionsinx
    *     ORDER_CFGS_REF                =
    *     ORDER_CFGS_INST               =
    *     ORDER_CFGS_PART_OF            =
    *     ORDER_CFGS_VALUE              =
    *     ORDER_CFGS_BLOB               =
    *     ORDER_CFGS_VK                 =
    *     ORDER_CFGS_REFINST            =
    *     ORDER_CCARD                   =
    *     ORDER_TEXT                    =
    *     ORDER_KEYS                    =
    *     EXTENSIONIN                   =
    *     PARTNERADDRESSES              =
    *    commit work.
       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    *     EXPORTING
    *       WAIT          =
    *     IMPORTING
    *       RETURN        =
       LOOP AT return INTO wa_return.
         WRITE:/ wa_return-message.
       ENDLOOP.
    ENDFUNCTION.
    *& Include ZSD_SO_CHANGES2_TOP                               Module Pool      ZSD_SO_CHANGES2
    PROGRAM  ZSD_SO_CHANGES2.
    ***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'ITEM_DATA'
    *&SPWIZARD: DEFINITION OF DDIC-TABLE
    TABLES:   VBAP,kna1.
    *&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'ITEM_DATA'
    TYPES: BEGIN OF T_ITEM_DATA,
              POSNR LIKE VBAP-POSNR,
              MATNR LIKE VBAP-MATNR,
              KWMENG LIKE VBAP-KWMENG,
              VRKME LIKE VBAP-VRKME,
            END OF T_ITEM_DATA.
    *&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'ITEM_DATA'
    DATA:     G_ITEM_DATA_ITAB   TYPE T_ITEM_DATA OCCURS 0,
               G_ITEM_DATA_WA     TYPE T_ITEM_DATA. "work area
    DATA:     G_ITEM_DATA_COPIED.           "copy flag
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'ITEM_DATA' ITSELF
    CONTROLS: ITEM_DATA TYPE TABLEVIEW USING SCREEN 4000.
    DATA:GV_NUM TYPE I VALUE 1,
           GV_NUM2 TYPE I.
    DATA:     G_T_YREC_TAB_LINES  LIKE SY-LOOPC.***********top*************
    *& Include ZSD_SO_CHANGES2_TOP                               Module Pool      ZSD_SO_CHANGES2
    PROGRAM  ZSD_SO_CHANGES2.
    ***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'ITEM_DATA'
    *&SPWIZARD: DEFINITION OF DDIC-TABLE
    TABLES:   VBAP,kna1.
    *&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'ITEM_DATA'
    TYPES: BEGIN OF T_ITEM_DATA,
              POSNR LIKE VBAP-POSNR,
              MATNR LIKE VBAP-MATNR,
              KWMENG LIKE VBAP-KWMENG,
              VRKME LIKE VBAP-VRKME,
            END OF T_ITEM_DATA.
    *&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'ITEM_DATA'
    DATA:     G_ITEM_DATA_ITAB   TYPE T_ITEM_DATA OCCURS 0,
               G_ITEM_DATA_WA     TYPE T_ITEM_DATA. "work area
    DATA:     G_ITEM_DATA_COPIED.           "copy flag
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'ITEM_DATA' ITSELF
    CONTROLS: ITEM_DATA TYPE TABLEVIEW USING SCREEN 4000.
    DATA:GV_NUM TYPE I VALUE 1,
           GV_NUM2 TYPE I.
    DATA:     G_T_YREC_TAB_LINES  LIKE SY-LOOPC.
    ************************pbo*******************
    *&  Include           ZSD_SO_CHANGES2_PBO
    *&SPWIZARD: OUTPUT MODULE FOR TC 'ITEM_DATA'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: COPY DDIC-TABLE TO ITAB
    MODULE ITEM_DATA_INIT OUTPUT.
       IF G_ITEM_DATA_COPIED IS INITIAL.
    *&SPWIZARD: COPY DDIC-TABLE 'VBAP'
    *&SPWIZARD: INTO INTERNAL TABLE 'g_ITEM_DATA_itab'
    *    SELECT * FROM VBAP
    *       INTO CORRESPONDING FIELDS
    *       OF TABLE G_ITEM_DATA_ITAB.
    *    G_ITEM_DATA_COPIED = 'X'.
         REFRESH CONTROL 'ITEM_DATA' FROM SCREEN '4000'.
       ENDIF.
       ITEM_DATA-LINES = G_T_YREC_TAB_LINES + 15.
    ENDMODULE.
    *&SPWIZARD: OUTPUT MODULE FOR TC 'ITEM_DATA'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: MOVE ITAB TO DYNPRO
    MODULE ITEM_DATA_MOVE OUTPUT.
       MOVE-CORRESPONDING G_ITEM_DATA_WA TO VBAP.
    ENDMODULE.
    *&      Module  STATUS_4000  OUTPUT
    *       text
    MODULE STATUS_4000 OUTPUT.
       SET PF-STATUS 'APAR'.
    *  REFRESH G_ITEM_DATA_ITAB.
        GV_NUM = 1.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_4000  OUTPUT

  • How do you grey out/disable fields under a radio button if another radio button is selected in Adobe Acrobat XI Pro?

    How do you grey out/disable fields under a radio button if another radio button is selected in Adobe Acrobat XI Pro?
    I’m creating a form where the user has three options to make a payment.
    1. charge to my credit card
    2. charge associated costs to bank account
    3. By cheque or money order
    My Problem is, under each option, there are required fields that has to be filled out. So if the user picks the first option, charge to my credit card, they would fill out the required fields (credit card number, expiration date etc.). But when they click submit button to submit the form, it won’t let them, because there are required fields under the second option. Also, I have the radio buttons for the three options setup so that if the user holds the shift key and clicks a radio button, it unchecks it. So what I'm trying to do is this: If the user selects the radio button for option 1, the other two options are greyed out/disabled. And if the user holds down the shift key and clicks radio button for option one again, it unchecks the radio button and the other two options are available again. Is there a way to grey out or disable the two other payment options when the other one is picked. I’m assuming I will have to use javascript, but what would the coding be and which field do I write it under?
    Thanks in advance guys

    You will have to use custom JavaScript to access the various properties of the field object.
    The radio button group has a value. When no button is selected that value is "Off". When an individual button has been selected the value for the group will be the option or export value for that individual button.
    Once you have determined the button selected, then you will know the form fields that need to be made required. You use JavaScript to access those fields and change the "read only" property to false, and set the "required" property to true. For the fields associated with the other options, those fields should be reset, made read only, and have the "required" property set to false.
    Disabling (graying-out) Form Fields
    >> Also, I have the radio buttons for the three options setup so that if the user holds the shift key and clicks a radio button, it unchecks it.
    Radio button in a PDF do not work that way. Only check boxes can be unchecked by clicking on one that has been checked.
    If you plan the coding for the Mouse UP action to test for all possible options and code for each of those options you should have what you want.
    If you want actual code you need to provide a lot more details.
    It is even possible to perform some credit card and bank routing number validations with JavaScript and some check digit formulas.

  • Help using a dynamic action to update tabular form items (specifically radio button) based on collection

    Hi Everyone, I have posted this question in the past and made huge progress with Denes Kubicek's help:  https://apex.oracle.com/pls/apex/f?p=31517:294:115851992029365::::: based on my earlier question posted: https://forums.oracle.com/forums/thread.jspa?threadID=2537494
    I am struggling with one item in my tabular form.  It is a radio button.  The choices all appear properly, but the value is not saved in the collection (and hence, not saved in the table).  All other items in the tabular form save properly.
    here is what I have for the query.   It is item c024 (which maps to ;'f03'), which is defined as a radio LOV based on an existing LOV.
    Currently I have:
    2 page items:
    P110_ID
    P110_VALUE
    Dynamic action called CHANGE COLUMN:
    event: CHANGE
    selection type: jQUERY Selector
    jQuery:
    jQuery Select = input[name='f03'],select[name'f08'],select[name='f09'],input[name='f10'],input[name='f11'],input[name='f12'],select[name='f40'],input[name='f21'],input[name='f22'],input[name='f23'],input[name='f50']
    event scope: Dynamic
    true action#1: set value P110_ID javascript expression this.triggeringElement.id
    true action#2: set value P110_VALUE javascript expression this.triggeringElement.value
    true action#3: execute pl/sql code
    declare
      v_member number;
      v_seq number;
    begin
      v_member := TO_NUMBER (SUBSTR (:p110_id, 2, 2));
      select ltrim(substr(:p110_ID,5,4),'0') into v_seq from dual;
      safis_collections.update_column(v_seq,
                                    v_member,
                                    :p110_value);
    true ation#4 refresh region :LANDINGS_COLLECTION
    the tabular form is based on the query:
    SELECT
    apex_item.text(1,seq_id,'','','id="f01_'||seq_id,'','') "DeleteRow",
    seq_id,
    seq_id display_seq_id,
    apex_item.text_from_LOV(c004,'SPECIES')||'-'||apex_item.text_from_LOV(c005,'GRADE')||'-'||apex_item.text_from_LOV(c006,'MARKETCODE')||'-'||apex_item.text_from_LOV_query(c007,'select unit_of_measure d, unit_of_measure r from species_qc') unit,
    apex_item.select_list_from_LOV(8,c008,'DISPOSITIONS','onchange="getAllDisposition('||seq_id||')"','YES','0','  -- Select Favorite --  ','f08_'||seq_id,'') Disposition,
    apex_item.select_list_from_LOV(9,c009,'GEARS','style="background-color:#FBEC5D; "onFocus="checkGearPreviousFocus('||seq_id||');"onchange="getAllGears('||seq_id||')"','YES','3333','-- Select Favorite --','f09_'||seq_id,'') Gear,
    apex_item.text(10,TO_NUMBER(c010),5,null, 'onchange="setTotal('||seq_id||')"','f10_'||seq_id,'') Quantity,
    apex_item.text(11,TO_NUMBER(c011),5,null,'onchange="getPriceBoundaries('||seq_id||')"','f11_'||seq_id,'') Price,
    apex_item.text(12, TO_NUMBER(c012),5,null, 'onchange="changePrice
    ('||seq_id||')" onKeyDown="selectDollarsFocus('||seq_id||',event);"','f12_'||seq_id,'') Dollars,
    decode(c013,'Y',apex_item.text(14, c014,30,null,'style="background-color:#FBEC5D;" onClick="onFocusAreaFished('||seq_id||');"','f14_'||seq_id,''),'N','N/A') Area_Fished,
    decode(c017,'Y',apex_item.text(18, c018,4,null,'style="background-color:#FBEC5D; "onBlur="setUnitQuantity('||seq_id||')"','f18_'||seq_id,''),'N','N/A') UNIT_QUANTITY,
    decode(c017,'Y',apex_item.text(19,'CN',3,null,'readOnly=readOnly;','f19_'||seq_id,''),'N','N/A') UNIT_COUNT,
    c024 hms_flag,
    decode(c050,'Y',apex_item.checkbox(21,'Y','id="f21_'||seq_id||'" style="background-color:#FBEC5D; " onClick="alterYes('||seq_id||');" onKeyPress="alterYes('||seq_id||');"',c021),'N','N/A') FinsAttached,
    decode(c050,'Y',apex_item.checkbox(22,'N','id="f22_'||seq_id||'" style="background-color:#FBEC5D;" onClick="alterNo('||seq_id||');" onKeyPress="alterNo('||seq_id||');"',c022),'N','N/A') FinsNotAttached,
    decode(c050,'Y',apex_item.checkbox(23,'U','id="f23_'||seq_id||'" style="background-color:#FBEC5D;" onClick="alterUnk('||seq_id||');" onKeyPress="alterUnk('||seq_id||');"',c023),'N','N/A') FinsUnknown,
    decode(c050,'Y',apex_item.textarea(28,c028,3,null,null,'f28_'||seq_id,''),'N','N/A') Explanation,
    decode(c024,'N',apex_item.select_list_from_LOV(29,c029,'HMSNATURE','onchange="saveNature('||seq_id||')"','YES','A','-- Select Nature of Sale --','f29_'||seq_id,''),'U',apex_item.select_list_from_LOV(29,c029,'HMSNATURE','onchange="saveNature('||seq_id||')"','YES','A','-- Select Nature of Sale --','f29_'||seq_id,''),'Y','N/A') Nature_Of_Sale,
    decode(c020,'Y',
    apex_item.select_list_from_LOV(40,c040,'HMS_AREA_CODE','style="background-color:#FBEC5D;"',null,null,null,'f40_'||seq_id,''),
    'N','N/A') HMS_AREA_CODE,
    c020,c050,
    decode(c020,'Y',
    apex_item.text(41,TO_NUMBER(c041),5,null,null,'f41_'||seq_id,''),
    'N','N/A') Sale_Price
    from apex_collections
    where collection_name = 'SPECIES_COLLECTION' order by seq_id
    I have noticed the following:
    when I change column C011 (price) the following values are set in the dynamic action:
    P110_ID = f11_1
    P110_VALUE = whatever I change the price to.
    when I change the column C024 (hms_flag), the following values are set:
    P110_ID = f03_0001
    P110_VALUE = whatever I change hms_flag to.
    the region is refreshed in my dynamic action, and the change for hms_flag does not hold.  I have tested the SQL query that generates the value for v_SEQ in the dynamic action.   In both a change to price and HMS_FLAG it appears valid
    select ltrim(substr(:p110_ID,5,4),'0') into v_seq from dual;
    if f11_1, v_seq:= 1
    if f03_0001, v_seq := 1
    thank you!

    solved.  sort of. 
    field c024 references f03.
    the Dynamic ACtion, step 4 calculates v_member by taking a substring of P110_ID...and in all other fields, the column and the field (fxx) are the same value....except for c024.
    I am not certain exactly how to resolve, but see the problem.

  • Creation of selection screen with 2 radio button groups

    Hi All,
    I have following selecton screen to be created:
    1. Radio Button for File
       A. Radio Button for PC File
           - Parameter for PC File Input
       B. Radio Button for UNIX File
           - Parameter for Unix File Input
    2. Radio Button for Material
        - Material Select-Option
    As per above Either of Radio Buttons 1/2 File/Material will be selected.
    If 1(File) Selected Radio Button for PC File/Unix File will be selected, No other radio buttons will be active.
    If 2(Material) Selected Material Select-option input will be given, No other radio buttons will be active.
    How can we write the selection screen code for above design.
    Thanks in advance.
    Thanks,
    Deep.

    Hi,
    go through the following example-----
    **************************************INTERNAL TABLE DECLERATION**************************************
    DATA: BEGIN OF ITAB2 OCCURS 0,
             VALUE(250) TYPE C,
             END   OF ITAB2.
    **************************************DATA DECLERATION************************************************
    DATA: PATH LIKE DYNPREAD-FIELDNAME.
    DATA : P TYPE STRING,
           D TYPE STRING.
    DATA : V_DATASET    LIKE FILENAMECI-FILEEXTERN.
    **************************************SELECTION SCREEN***********************************************
    PARAMETERS: V_PATH TYPE RLGRAP-FILENAME DEFAULT 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
    PARAMETERS: D_PATH TYPE RLGRAP-FILENAME.
    SKIP 5.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    PARAMETERS: PC_ONE    RADIOBUTTON GROUP RAD1 DEFAULT 'X',
                PC_OTHER    RADIOBUTTON GROUP RAD1.
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR V_PATH.
    HELP FOR SEARCHING FILES PATH************************************************
      IF PC_ONE = 'X'.
        CALL FUNCTION 'F4_FILENAME'
         EXPORTING
      PROGRAM_NAME        =  'Z8VIJAY_SHADOWER_COVERSIONDATA'
      DYNPRO_NUMBER       = SYST-DYNNR
           FIELD_NAME          = PATH
         IMPORTING
           FILE_NAME           = V_PATH.
    *******CONVERT IN TO STRING************
        P = V_PATH.
      ENDIF.
    **************************************SELECTION SCREEN VALIDATION***********************************
    AT SELECTION-SCREEN.
      IF V_PATH = ''.
        MESSAGE E014.                    "FILE PATH NOT FOUND!!!!!!!
      ENDIF.
      IF D_PATH = ''.
        MESSAGE E016.                "TARGET FILE NOT FOUND!!!!!!!
      ENDIF.
    *******************FOR DOWNLOAD**********
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_PATH.
      CALL FUNCTION 'F4_FILENAME'
       EXPORTING
      PROGRAM_NAME        = 'Z8VIJAY_SHADOWER_COVERSIONDATA'
      DYNPRO_NUMBER       = SYST-DYNNR
         FIELD_NAME           = PATH
       IMPORTING
         FILE_NAME           = D_PATH.
    ***************CONVERT INTO STRING***********
      D = D_PATH.
    *******************************************MAIN LOGIC************************************************
    START-OF-SELECTION.
      IF P = ''.
        P = 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
      ENDIF.
    ******************UPLOAD DATA FROM OTHERS TO INTERNAL TABLE****************
      CALL FUNCTION 'GUI_UPLOAD'
              EXPORTING
                FILENAME                      = P
             FILETYPE                      = 'ASC'
             HAS_FIELD_SEPARATOR           = ' '
             HEADER_LENGTH                 = 0
             READ_BY_LINE                  = 'X'
             DAT_MODE                      = ' '
             CODEPAGE                      = ' '
             IGNORE_CERR                   = ABAP_TRUE
             REPLACEMENT                   = '#'
             CHECK_BOM                     = ' '
           IMPORTING
             FILELENGTH                    =
             HEADER                        =
              TABLES
                DATA_TAB                      = ITAB2
             EXCEPTIONS
               FILE_OPEN_ERROR               = 1
               FILE_READ_ERROR               = 2
               NO_BATCH                      = 3
               GUI_REFUSE_FILETRANSFER       = 4
               INVALID_TYPE                  = 5
               NO_AUTHORITY                  = 6
               UNKNOWN_ERROR                 = 7
               BAD_DATA_FORMAT               = 8
               HEADER_NOT_ALLOWED            = 9
               SEPARATOR_NOT_ALLOWED         = 10
               HEADER_TOO_LONG               = 11
               UNKNOWN_DP_ERROR              = 12
               ACCESS_DENIED                 = 13
               DP_OUT_OF_MEMORY              = 14
               DISK_FULL                     = 15
               DP_TIMEOUT                    = 16
               OTHERS                        = 17
          IF sy-subrc = 1.
           MESSAGE E014.                    "FILE PATH NOT FOUND!!!!!!!
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    ******************************DOWNLOAD DATA FROM INTERNAL TABLE TO OTHERS******************************
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
      BIN_FILESIZE                    =
          FILENAME                        = D
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
    IMPORTING
      FILELENGTH                      =
        TABLES
          DATA_TAB                        = ITAB2
      FIELDNAMES                      =
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF PC_OTHER = 'X'.
    ****************************8FOR ONE SERVER TO ANOTHER************************************************
      OPEN DATASET V_DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        IF SY-SUBRC = 0.
          DO.
            READ DATASET V_DATASET INTO ITAB2.
            IF SY-SUBRC <> 0.
              EXIT.
            ENDIF.
            APPEND ITAB2.
          ENDDO.
        ENDIF.
      ENDIF.
    *********************************PRINTING DATA *********************************************************
      LOOP AT ITAB2.
        WRITE :/5 ITAB2-VALUE.
      ENDLOOP.
    ****do reward if usefull
    Regards,
    vijay

  • Radio Button Groups

    Hi I am trying to create two radio button groups, one which contains other text buttons and names buttons, in this group only other text button or names can be chosen. But then within the other group I have all the names buttons, but i only want one of these to be chosen at a time. Heres my code
    [AS]
    import fl.controls.RadioButtonGroup;
    //===========================All Name Buttons============================
    var NameTxtRadio:RadioButtonGroup=new RadioButtonGroup("NameTxtRadio");
    LBtextMenu.LBnames.group=NameTxtRadio;
    RBtextMenu.RBnames.group=NameTxtRadio;
    LStextMenu.LSnames.group=NameTxtRadio;
    RStextMenu.RSnames.group=NameTxtRadio;
    LBtextMenu.LBnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    RBtextMenu.RBnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    LStextMenu.LSnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    RStextMenu.RSnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    function NamesshowResult(event:MouseEvent):void {
       switch (NameTxtRadio.selection) {
              case RBtextMenu.RBnames :
               trace ("RB names chosen");
                             RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = true;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = false;
                            break;
                           case LBtextMenu.LBnames :
               trace ("LB names chosen");
                            RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = true;
                           LStextMenu.LSnames.selected = false;
                            break;
                           case LStextMenu.LSnames :
               trace ("LS names chosen");
                             RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = true;
                            break;
                           case RStextMenu.RSnames :
               trace ("RS names chosen");
                           RStextMenu.RSnames.selected = true;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = false;
                            break;
    //==========================Right Breast text menu==========================
    var RBTxtRadio:RadioButtonGroup=new RadioButtonGroup("RBTxtRadio");
    RBtextMenu.RBotherTxt.group=RBTxtRadio;
    RBtextMenu.RBnames.group=RBTxtRadio;
    RBtextMenu.RBotherTxt.addEventListener(MouseEvent.CLICK, RBshowResult);
    RBtextMenu.RBnames.addEventListener(MouseEvent.CLICK, RBshowResult);
    function RBshowResult(event:MouseEvent):void {
       switch (RBTxtRadio.selection) {
              case RBtextMenu.RBotherTxt :
               trace ("RB other chosen");
                            break;
                           case RBtextMenu.RBnames :
               trace ("RB names chosen");
                            break;
    //==============================================================================
    //==========================Left Breast text menu==========================
    var LBTxtRadio:RadioButtonGroup=new RadioButtonGroup("LBTxtRadio");
    LBtextMenu.LBotherTxt.group=LBTxtRadio;
    LBtextMenu.LBnames.group=LBTxtRadio;
    LBtextMenu.LBotherTxt.addEventListener(MouseEvent.CLICK, LBshowResult);
    LBtextMenu.LBnames.addEventListener(MouseEvent.CLICK,LBshowResult);
    function LBshowResult(event:MouseEvent):void {
       switch (LBTxtRadio.selection) {
              case LBtextMenu.LBotherTxt :
               trace ("LB other chosen");
                            break;
                           case LBtextMenu.LBnames :
               trace ("LB names chosen");
                            break;
    //==============================================================================
    //==========================Left Shoulder text menu==========================
    var LSTxtRadio:RadioButtonGroup=new RadioButtonGroup("LSTxtRadio");
    LStextMenu.LSotherTxt.group=LSTxtRadio;
    LStextMenu.LSnames.group=LSTxtRadio;
    LStextMenu.LSotherTxt.addEventListener(MouseEvent.CLICK, LSshowResult);
    LStextMenu.LSnames.addEventListener(MouseEvent.CLICK,LSshowResult);
    function LSshowResult(event:MouseEvent):void {
       switch (LSTxtRadio.selection) {
              case LStextMenu.LSotherTxt :
               trace ("LS other chosen");
                            break;
                           case LStextMenu.LSnames :
               trace ("LS names chosen");
                            break;
    //==============================================================================
    //==========================Right Shoulder text menu==========================
    var RSTxtRadio:RadioButtonGroup=new RadioButtonGroup("RSTxtRadio");
    RStextMenu.RSotherTxt.group=RSTxtRadio;
    RStextMenu.RSnames.group=RSTxtRadio;
    RStextMenu.RSotherTxt.addEventListener(MouseEvent.CLICK, RSshowResult);
    RStextMenu.RSnames.addEventListener(MouseEvent.CLICK,RSshowResult);
    function RSshowResult(event:MouseEvent):void {
       switch (RSTxtRadio.selection) {
              case RStextMenu.RSotherTxt :
               trace ("RS other chosen");
                            break;
                           case RStextMenu.RSnames :
               trace ("RS names chosen");
                            break;
    //==============================================================================
    [/AS]
    I have no problem choosing between either, other text button or names, only one is selected at a time, but this isnt the case for the other group im able to select multiple name buttons without the other one becoming deselected.
    Thanks in advance for any help.

    Hi just if anyone else wants to do something like i have, I had to ditch the radio button component and make my own.
    Heres the code.
    [AS]
    RBnamesTextButton.CustomRadioButton.stop();
    LBnamesTextButton.CustomRadioButton.stop();
    RSnamesTextButton.CustomRadioButton.stop();
    LSnamesTextButton.CustomRadioButton.stop();
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    function rollOverState01(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("over");
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    function rollOffState01(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("off");
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    function rollupState01(event:MouseEvent):void
              RBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              LBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              RSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              LSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              event.target.gotoAndStop(3);
    //======================================OTHER TEXT========================================================
    RBotherTextButton.CustomRadioButton.stop();
    LBotherTextButton.CustomRadioButton.stop();
    LSotherTextButton.CustomRadioButton.stop();
    RSotherTextButton.CustomRadioButton.stop();
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    function rollOverState02(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("over");
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    function rollOffState02(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("off");
    //===============================RB BUTTONS================================================
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState03);
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState04);
    function rollupState03(event:MouseEvent):void
              RBnamesTextButton.CustomRadioButton.gotoAndStop(3);
              RBotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Breast names clicked")
    function rollupState04(event:MouseEvent):void
              RBotherTextButton.CustomRadioButton.gotoAndStop(3);
              RBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Breast text clicked")
    //======================================================================================== =======
    //===============================LB BUTTONS================================================
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState05);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState06);
    function rollupState05(event:MouseEvent):void
              LBnamesTextButton.CustomRadioButton.gotoAndStop(3);
              LBotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Breast names clicked")
    function rollupState06(event:MouseEvent):void
              LBotherTextButton.CustomRadioButton.gotoAndStop(3);
              LBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Breast text clicked")
    //======================================================================================== =======
    //===============================RS BUTTONS================================================
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState07);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState08);
    function rollupState07(event:MouseEvent):void
              RSnamesTextButton.CustomRadioButton.gotoAndStop(3);
              RSotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Shoulder names clicked")
    function rollupState08(event:MouseEvent):void
              RSotherTextButton.CustomRadioButton.gotoAndStop(3);
              RSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Shoulder text clicked")
    //======================================================================================== =======
    //===============================LS BUTTONS================================================
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState09);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState10);
    function rollupState09(event:MouseEvent):void
              LSnamesTextButton.CustomRadioButton.gotoAndStop(3);
              LSotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Shoulder names clicked")
    function rollupState10(event:MouseEvent):void
              LSotherTextButton.CustomRadioButton.gotoAndStop(3);
              LSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Shoulder text clicked")
    //======================================================================================== =======
    [/AS]
    There is probably a more efficent way to code this but im an AS noob :]

  • How to enable a disabled radio button????

    Hi here is the problem i have, i have a number of radio buttons contained in a buton group, all the buttons bar the first one are disabled. The buttons are all drawn on a JPanel. What i want to be able to do is once the enabled button has been selected, I want to enable the next button in the gropu and also then disable the one that was previously enabled. Is there any way i can do this, below is the code i have for setting the group up, and trying the above probelm. Any help much appreciated Thanks.
    /* Function creates a radio button and adds it to the button group */
         public JRadioButton getRadioButton(String myString, boolean val)
              JRadioButton myButton=new JRadioButton(myString);
              myButton.setActionCommand(myString);
              myButton.addActionListener(myListener);
              myButton.setEnabled(val);
              group.add(myButton);
              return myButton;
    //adds the radio buttons to the panel, for each transition */
         public void addTranPan()
                   for(int i = 0; i < dCreate.char2.size(); i ++)
                   if (i == 0) mPanel.add(getRadioButton(dCreate.char2.elementAt(0).toString(),true));
                   else
    mPanel.add(getRadioButton(dCreate.char2.elementAt(i).toString(),false));
    public void ChangeButtonState()
    Component [] components = getContentPane().getComponents();
              for (int i = 0; i < components.length; i++)
                   Component c = components;
                   if (c instanceof JRadioButton)
                   JRadioButton rb = (JRadioButton) c;
                   rb.setEnabled(false);
                   if (c.getName().equals(ch)) //find button to enable
                   JRadioButton rb = (JRadioButton) c;
                   rb.setEnabled(true);
                   break;
              mPanel.repaint();

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class sol21 extends JFrame implements ItemListener {
    JRadioButton
       radio1 = new JRadioButton("One"),
       radio2 = new JRadioButton("Two"),
       radio3 = new JRadioButton("Three"),
       radio4 = new JRadioButton("Four");
      JRadioButton[] radios = {
        radio1, radio2, radio3, radio4
      int INITIAL_ENABLED = 0;
      public sol21() {
        ButtonGroup group = new ButtonGroup();
        JPanel panel = new JPanel(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.insets = new Insets(5,0,5,0);
        gbc.anchor = gbc.WEST;
        gbc.gridwidth = gbc.REMAINDER;
        for(int j = 0; j < radios.length; j++) {
          radios[j].addItemListener(this);
          group.add(radios[j]);
          panel.add(radios[j], gbc);
          if(j == INITIAL_ENABLED)
            continue;
          radios[j].setEnabled(false);
        setContentPane(panel);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(300,200);
        setLocation(300,200);
        setVisible(true);
      public void itemStateChanged(ItemEvent e) {
        JRadioButton button = (JRadioButton)e.getItemSelectable();
        if(e.getStateChange() == ItemEvent.SELECTED) {
          int index = 0;
          for(int j = 0; j < radios.length; j++)
            if(radios[j] == button)
              index = j;
          radios[(index + 1) % radios.length].setEnabled(true);
          if(index == 0)
            index = radios.length;
          radios[(index - 1) % radios.length].setEnabled(false);
      public static void main(String[] args) {
        new sol21();
    }

  • ValueChangeListener in Radio Button not acting after first time

    Hi,
    I am using ADF-BC-JSF in Jdev 10.1.3.3. I have a page on which there are 2 radio buttons which show blank at first. As soon as a user selects a radio button, the valueChangeListener calls up a method in the backing bean that opens a dialog for the user. User enters some text in to the dialog and clicks OK after which the window closes. If the user clicks Cancel on the dialog page, the window is still closed but radio button value is reset to blank through javascript. the problem is that it works only first time. second time it tries to autosubmit but only the constructor of the backing bean is called and not the actual function to open the window. Following is the code snippet that may be helpful.
    Radio Buttons
    <af:selectOneRadio value="#{bindings.SP11WarrantDetailsViewMetallurgistReviewStatus.inputValue}"
    layout="horizontal"
    id="metallurgistRadioBtn"
    autoSubmit="true"
    valueChangeListener="#{UploadDownloadBean.exampleOpenDialog}"
    disabled="#{ !UserInfo.metallurgist || bindings.SP11WarrantDetailsViewMetallurgistReviewStatus !=''}">
    <af:validator binding="#{bindings.SP11WarrantDetailsViewMetallurgistReviewStatus.validator}"/>
    <af:selectItem label="Approved" value="Approved"/>
    <af:selectItem label="Rejected" value="Rejected"/>
    </af:selectOneRadio>
    Function to Open the Window
    public void exampleOpenDialog(ValueChangeEvent valueChangeEvent)
    // Add event code here...
    FacesContext context = FacesContext.getCurrentInstance();
    // Create the dialog UIViewRoot
    ViewHandler viewHandler = context.getApplication().getViewHandler();
    UIViewRoot dialog = viewHandler.createView(context,"/sp11/warrant/MetallurgistNotes.jspx");
    HashMap properties = new HashMap();
    AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
    afContext.launchDialog(dialog,
    null, // not launched from any component
    null, // no particular parameters
    true, //show in dialog
    properties);
    Javscript for resetting the Radiob button
    function closeWindowOnCancel()
    if(parent.window.opener.document.getElementById("notesValueHolder").value == '' )
    parent.window.opener.document.getElementsByName("metallurgistRadioBtn")[0].checked = false;
    parent.window.opener.document.getElementsByName("metallurgistRadioBtn")[1].checked = false;
    Please suggest what can be the possible cause.
    Regards,
    Neeraj

    Hi,
    I am using ADF-BC-JSF in Jdev 10.1.3.3. I have a page on which there are 2 radio buttons which show blank at first. As soon as a user selects a radio button, the valueChangeListener calls up a method in the backing bean that opens a dialog for the user. User enters some text in to the dialog and clicks OK after which the window closes. If the user clicks Cancel on the dialog page, the window is still closed but radio button value is reset to blank through javascript. the problem is that it works only first time. second time it tries to autosubmit but only the constructor of the backing bean is called and not the actual function to open the window. Following is the code snippet that may be helpful.
    Radio Buttons
    <af:selectOneRadio value="#{bindings.SP11WarrantDetailsViewMetallurgistReviewStatus.inputValue}"
    layout="horizontal"
    id="metallurgistRadioBtn"
    autoSubmit="true"
    valueChangeListener="#{UploadDownloadBean.exampleOpenDialog}"
    disabled="#{ !UserInfo.metallurgist || bindings.SP11WarrantDetailsViewMetallurgistReviewStatus !=''}">
    <af:validator binding="#{bindings.SP11WarrantDetailsViewMetallurgistReviewStatus.validator}"/>
    <af:selectItem label="Approved" value="Approved"/>
    <af:selectItem label="Rejected" value="Rejected"/>
    </af:selectOneRadio>
    Function to Open the Window
    public void exampleOpenDialog(ValueChangeEvent valueChangeEvent)
    // Add event code here...
    FacesContext context = FacesContext.getCurrentInstance();
    // Create the dialog UIViewRoot
    ViewHandler viewHandler = context.getApplication().getViewHandler();
    UIViewRoot dialog = viewHandler.createView(context,"/sp11/warrant/MetallurgistNotes.jspx");
    HashMap properties = new HashMap();
    AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
    afContext.launchDialog(dialog,
    null, // not launched from any component
    null, // no particular parameters
    true, //show in dialog
    properties);
    Javscript for resetting the Radiob button
    function closeWindowOnCancel()
    if(parent.window.opener.document.getElementById("notesValueHolder").value == '' )
    parent.window.opener.document.getElementsByName("metallurgistRadioBtn")[0].checked = false;
    parent.window.opener.document.getElementsByName("metallurgistRadioBtn")[1].checked = false;
    Please suggest what can be the possible cause.
    Regards,
    Neeraj

  • Please help! How can I validate Radio Buttons and List Menu with PHP.

    Hello everyone, I have been learning PHP step by step and
    making little projects.
    The point is I find it easy to learn by doing "practical
    projects."
    I have been reading the David Powers's Book on PHP Solutions
    and it's really great, however there is nothing mentioned regarding
    Validating Radio buttons. I know the book cannot cover every aspect
    of PHP and maybe someone in here can help.
    I have been learning how to process HTML forms with PHP.
    The problem is every book or tutorial I have read or
    encountered fall short on validation.
    I'm wondering how I can learn to validate Radio Buttons and
    Select List Menu.
    I have managed to create validation for all other fields but
    have no clue as to how I can get validation for Radio Buttons and
    List Menu.
    I would also like an error message echoed when the user does
    not click a button or make a selection and try to submit the form.
    I would appreciate any help.
    Patrick

    It's not that default value is "None." In fact it's not. It
    will only be
    "none" when the form is submitted.
    Also if your submit button is names 'send' then
    $_POST['send'] will only be
    set if the form was submitted.
    Make sure you didn't hit the refresh button on your browser
    which usually
    reposts the information. Also make sure you did not reach the
    form from
    another form with the same button names.
    Otherwise paste the snippet.
    Also you can check what fields are set in the post array by
    adding this to
    the top of (or anywhere on) your page:
    print_r($_POST);
    Cosmo
    "Webethics" <[email protected]> wrote in
    message
    news:[email protected]...
    >
    quote:
    Originally posted by:
    Newsgroup User
    > Off the top of my head this should be no different than
    your radio buttons
    > except that 'productSelection' will always fail the
    !isset check when the
    > form is submitted since the default value is "None", and
    therefore always
    > set. :-)
    >
    > So how about this..?
    > <?php
    > if (isset($_POST['send']) and
    ($_POST['productSelection'] == "None"))
    > {echo "Please select a product.";}
    > ?>
    >
    >
    >
    >
    > "Webethics" <[email protected]> wrote
    in message
    > news:[email protected]...
    > > Another question - how do i applied the code you
    just showed me to
    > > select
    > > menu
    > > or select list?
    > >
    > > This is the list:
    > >
    > > <div class="problemProduct">
    > > <label for="productSelection"><span
    class="product_label">Product
    > > Name.</span></label>
    > > <select name="productSelection" id="products"
    class="selection">
    > > <option value="None">-------------Select a
    product----------</option>
    > > <option value="Everex DVD Burner">Everex DVD
    Burner</option>
    > > <option value="Vidia DVD Burner">Vidia DVD
    Burner</option>
    > > <option value="Excerion Super Drive">Excerion
    Super Drive</option>
    > > <option value="Maxille Optical Multi
    Burner">Maxille Optical Multi
    > > Burner</option>
    > > <option value="Pavilion HD Drives">Pavilion
    HD Drives</option>
    > > </select>
    > > </div>
    > >
    > > I thought I could just change the name is the code
    from operatingSystem
    > > to
    > > productSelection.
    > >
    > > Something like this:
    > >
    > > From this:
    > >
    > > <?php
    > > if (isset($_POST[send]) and
    !isset($_POST['operatingSystem']))
    > > {echo "Please select an operating system.";}
    > > ?>
    > >
    > > To this:
    > >
    > > <?php
    > > if (isset($_POST[send]) and
    !isset($_POST['productSelection']))
    > > {echo "Please select an operating system.";}
    > > ?>
    > >
    > > But this does not work, any ideas?
    > >
    > > Patrick
    > >
    >
    >
    >
    >
    > Hey, I tried this about but as you mentioned, since the
    default product
    > value
    > is "None" an error message appears when the page loads.
    >
    > Is there a way to code this things so that even though
    the default value
    > is
    > "None" there ia no error message untle you hit the
    submit?
    >
    > When I applied the code, it messes up the previous code,
    now the operating
    > system is requiring an entry on page load.
    >
    > When I remove the code from the list menu everything
    goes back to normal.
    >
    > I know this is a little much but I have no other
    alternatives.
    >
    > Patrick
    >

Maybe you are looking for