If Else Statement in Validation of Other Field's Values

Thanks in advance for your help.
Here is the statement:
$3,000 (maximum contribution)
OR my remaining balance $ (remaining balance field)
$ (total field)
The maximum that the user can contribute is $3,000. If they enter a number greater than $3,000 for the remaining balance, The total for that statement should be $3,000. If they enter a number less than $3,000 for the remaining balance, the total for that statement should be the number entered for the remaining balance.
I think I'm actually making this more difficult than it needs to be. I would like the total field to evaluate the user's entry into the remaining balance field; if that number is greater than.3,000, the total is 3,000; if not, the total field is equal to the value entered into the remaining balance field.
Thanks again for your help.

Gilad D (try67) wrote:
There are two problems with your code:
1. In a Calculation script one should apply the new value using event.value, not by using the getField method.
2. You should convert the value of "Remaining Balance" to a number explictly.
So the code should be:
var b = Number(this.getField("Remaining Balance").value);
if (b > 3000){
    event.value = 3000;
} else event.value = b;
I see, thanks Gilad.

Similar Messages

  • PM Notification - Hide fields based on other field's value

    Hello experts,
    I am looking for an user exit which allows me to hide some fields based on other field's value.
    For example, I have field 1 and field 2. When I open my notification, if the value of field 2 is 'aaa', field 1 has to be hidden.
    There should be an user exit but I can't find it...
    Thanks for your help!

    Hi everyone,
    Any thoughts? any help is appreciated...
    Thanks

  • How to default the KFF segment values based on other field's value

    Hi,
    I would need to reset the 5th segment value of "Liability Account" field on R12 Supplier Page under "Accounting" link.
    Condition: And it has to be based on some other value like "GLOBAL CONTEXT VALUE and TaxPayer ID Type" under "Organization" link.
    Right now; as per the seeded page it defaults the Liability Account to "BL-130-0000-2110-0000-0000" under accounting link; I need to change this default value to "BL-130-0000-2110-2641-0000" based on above condition.
    I have tried using the below code:
    OAKeyFlexBean oakeyflexbean = (OAKeyFlexBean)oawebbean.findIndexedChildRecursive("LiabilityFlex");
    oakeyflexbean.setText()
    But this one does not work.
    Can anyone suggest me some option to acheive this requirement.
    Thanks
    Edited by: 880860 on May 21, 2012 2:23 PM

    Hi everyone,
    Any thoughts? any help is appreciated...
    Thanks

  • One field value will be populated depending on other field's value

    I have two select-options in my selection screen- a)VBAP-VBELN b)VBAP-MATNR.
    My requirement is that if i enter Sales Doc(VBAP-VBELN) in first combo ,Material Number combo(VBAP-MATNR)will be populated with Material numbers for that corresponding Sales Doc only. Not all Material number.
    Please help.

    Hi,
    check this example...
    REPORT  ZTEST_F4HELP                              .
    *---Report with selection screen and to display the list of
    possible entries for field 'B' as per the value in field 'A'.
    parameters: p_vbeln type vbak-vbeln,
                p_posnr type vbap-posnr.
    at selection-screen on value-request for p_posnr.
      data: begin of help_item occurs 0,
              posnr type vbap-posnr,
              matnr type vbap-matnr,
              arktx type vbap-arktx,
            end of help_item.
      data: dynfields type table of dynpread with header line.
      dynfields-fieldname = 'P_VBELN'.
      append dynfields.
      call function 'DYNP_VALUES_READ'
           exporting
                dyname               = sy-cprog
                dynumb               = sy-dynnr
                translate_to_upper   = 'X'
           tables
                dynpfields           = dynfields
           exceptions
                invalid_abapworkarea = 1
                invalid_dynprofield  = 2
                invalid_dynproname   = 3
                invalid_dynpronummer = 4
                invalid_request      = 5
                no_fielddescription  = 6
                invalid_parameter    = 7
                undefind_error       = 8
                double_conversion    = 9
                stepl_not_found      = 10
                others               = 11.
      read table dynfields with key fieldname = 'P_VBELN'.
      p_vbeln = dynfields-fieldvalue.
      call function 'CONVERSION_EXIT_ALPHA_INPUT'
           exporting
                input  = p_vbeln
           importing
                output = p_vbeln.
      select posnr matnr arktx into table help_item
                     from vbap
                          where vbeln = p_vbeln.
      call function 'F4IF_INT_TABLE_VALUE_REQUEST'
           exporting
                retfield    = 'POSNR'
                dynprofield = 'P_POSNR'
                dynpprog    = sy-cprog
                dynpnr      = sy-dynnr
                value_org   = 'S'
           tables
                value_tab   = help_item.
    Cheers,
    SImha.

  • Validation of a field in select statement

    In selection screen, skunag(vbrk-kunag) and swerks(vbrp-werks) fields are there.these two fileds are obligatory.
    If skunag field values start with 'P'.I have to remove the initial 'P' in that values,because I have to validate that field with ztable-kunag.
    i have written folllowing way.but no result.
    AT SELECTION-SCREEN ON SKUNAG.
    PERFORM check_skunag.
    form check_skunag.
    data: p_kunag(10) type c.
    if not skunag is initial.
        p_kunag = skunag+4(4).
        move p_kunag to skunag.
    endif.
    endform.
    one more thing this skunag filed is also using in another form for database selection.In this form i want to use the above skunag field, after validation....
    form gatherdata.
      SELECT vbeln kunag zuonr vkorg waerk fkart FROM vbrk INTO CORRESPONDING FIELDS OF TABLE itab
            WHERE vbeln IN svbeln
           AND   kunag IN <b>skunag</b>.
    endform.
    how can i write the above scenario...
    thanks in advance,
    fractal

    Looks like skunag is a select-option. In that case, it will be very difficult to validate it because if the user enters a range like P00001 to P99999, how are you going to validate this against the Z table.
    First you will have to restrict the user from using ranges. That you can do by defining your skunag with no-intervals. Then you will be able to validate that easily as user can only enter single values, no ranges.
    You need to have your validation in AT SELECTION-SCREEN ON <b>skunag-low</b>.
    In your FORM check_skunag, you need to change the code as follows
    data: p_kunag(10) type c.
    LOOP AT skunag.
    *-- only if the first character is P
      CHECK skunag-low+0(1) = 'P'.
      p_kunag = skunag-low+1(remove the first P)
    *-- check against the Z table with p_kunag
      SELECT KUNAG FROM ztable WHERE kunag = p_kunag.
      IF sy-subrc <> 0.
    *-- invalid KUNAG
        DELETE skunag.
      ELSE.
    *-- If you want to move the value without P back into
    *   your skunag then do the following
        MOVE p_kunag to skunag-low.
        MODIFY skunag.
      ENDIF.
    ENDLOOP.

  • How do I use switch and case statements to fill more than one other field?

    Hi all,
    I'm new to the community.
    I'm trying to make an existing form more user friendly for my coworkers. I want to use a switch and case approach in a drop-down list field so that the selection fills two seperate other fields with different info related to the selection.
    I can already do this with one field, but if I add a second target field under an existing case the text doesn't appear there when I make the selection from the dropdown.
    Basically, I'm asking if I can do this:
    switch 
    (sNewSel){
       case "1": // Selection 1    Row2.Field1
    = "text for field 1";
        Row1.Field2 = "text for field 2"; 
        break;
    etc.
    It works if the "row1.field2" option isn't there, but not when it is present.
    Any takers?

    I'm not sure if I will be able to send you the form. There may be too much to redact.
    Would this last bit of code in the cell affect anything?
    if 
    (bEnableTextField)
    {Row2.Field1.access
    = "open"; // enable field
    Row2.Field1.caption.font.fill.color.value= "0,0,0"; // set caption to black
    That is, do I also need to repeat the same thing for the second target cell (Row1.Field2)?
    What would be possible hang ups that would prevent it from working correctly?
    Dave
    By the way, I'm not sure if my other attachment posted. I am trying again.

  • What is wrong with this ASP If Else statement

    <%If (Request.Form("type")="Cancel Po") Then %>
    <form action="<%=MM_editAction%>" method="POST"
    name="datechange"
    onSubmit="YY_checkform('datechange','type[0]','#q','2','Please
    select a
    Request Type.','reasoncode[0]','#q','2','Please select a
    reason
    code.','ventype[0]','#q','2','Please select a type of
    vendor.','firstname','#q','0','Please enter your first
    name.','emailaddress','S','2','Please enter your email
    address.','ponum','#0_9999999','1','Please enter a po
    number.','deptnum','#q','0','Please enter a dept
    number.');return
    document.MM_returnValue">
    <% Else %>
    <form action="<%=MM_editAction%>" method="POST"
    name="datechange"
    onSubmit="YY_checkform('datechange','type[0]','#q','2','Please
    select a
    Request Type.','reasoncode[0]','#q','2','Please select a
    reason
    code.','ventype[0]','#q','2','Please select a type of
    vendor.','firstname','#q','0','Please enter your first
    name.','emailaddress','S','2','Please enter your email
    address.','ponum','#0_9999999','1','Please enter a po
    number.','deptnum','#q','0','Please enter a dept
    number.','newcancel','#^\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9]{4}\)$#2#1#3','3','Please
    enter a New Cancel Date in MM/DD/YYYY
    format.','newdontshipcurrent','#^\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9]{4}\)$#2#1#3','3' ,'Please
    enter a Current Do Not Ship After Date in MM/DD/YYYY
    format.');return
    document.MM_returnValue">
    <% End If %>
    No matter how i form the If statement the validation defaults
    to the 2nd one
    which its validating more
    ASP, SQL2005, DW8 VBScript, Visual Studio 2005, Visual Studio
    2008

    thanks.. i ended up using a different form validation and was
    able to
    accomplish what i was looking to do.. thanks for the advise..
    ASP, SQL2005, DW8 VBScript, Visual Studio 2005, Visual Studio
    2008
    "Dooza" <[email protected]> wrote in message
    news:[email protected]...
    > Daniel wrote:
    >> <%If (Request.Form("type")="Cancel Po") Then
    %>
    >>
    >> <form action="<%=MM_editAction%>"
    method="POST" name="datechange"
    >>
    onSubmit="YY_checkform('datechange','type[0]','#q','2','Please
    select a
    >> Request Type.','reasoncode[0]','#q','2','Please
    select a reason
    >> code.','ventype[0]','#q','2','Please select a type
    of
    >> vendor.','firstname','#q','0','Please enter your
    first
    >> name.','emailaddress','S','2','Please enter your
    email
    >> address.','ponum','#0_9999999','1','Please enter a
    po
    >> number.','deptnum','#q','0','Please enter a dept
    number.');return
    >> document.MM_returnValue">
    >>
    >> <% Else %>
    >>
    >> <form action="<%=MM_editAction%>"
    method="POST" name="datechange"
    >>
    onSubmit="YY_checkform('datechange','type[0]','#q','2','Please
    select a
    >> Request Type.','reasoncode[0]','#q','2','Please
    select a reason
    >> code.','ventype[0]','#q','2','Please select a type
    of
    >> vendor.','firstname','#q','0','Please enter your
    first
    >> name.','emailaddress','S','2','Please enter your
    email
    >> address.','ponum','#0_9999999','1','Please enter a
    po
    >> number.','deptnum','#q','0','Please enter a dept
    >>
    number.','newcancel','#^\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9]{4}\)$#2#1#3','3','Please
    >> enter a New Cancel Date in MM/DD/YYYY
    >>
    format.','newdontshipcurrent','#^\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9]{4}\)$#2#1#3','3' ,'Please
    >> enter a Current Do Not Ship After Date in MM/DD/YYYY
    format.');return
    >> document.MM_returnValue">
    >>
    >> <% End If %>
    >>
    >>
    >> No matter how i form the If statement the validation
    defaults to the 2nd
    >> one which its validating more
    >
    > To debug stick <%=Request.Form("type")%> at the
    start and check that you
    > are getting the correct value from the previous form
    field.
    >
    > Dooza

  • Validation on multi fields

    Created a form on a table. table1 has columns:id (not null),fname,lname,div
    Need a validation: if all 3 fields are empty (fname,lname, div) then don't accept the input from the form.
    How do you do a validation on multiple fields in apex? I can write a function like
    if (:fname is null and :lname is null and :div is null ) then return True else return False.
    But how do you put this into the condition under the process section in Apex? basically it means if all 3 fields are null then don't execute the process row of table1 when user click create button.
    Can someone give me some pointers? Many thanks in advance.
    tai

    Tai,
    You can create page level validations in APEX where you can do what you have specified.
    In Page definition, click on + sing against 'Validations', Slelect 'Page level validation' and click NEXT, Select 'PL/SQL' click next and here select 'function returning boolean' and put your code.
    Return FALSE -- if validation fails
    Cheers
    Hari

  • Process_order api - Validation Failed for Field Bill To

    I am relatively new to the EBS world and I'm having some issues with calling the OE_Order_Pub.Process_order API. When I call this API I am getting a return error of "Validation failed for field - Bill To".
    For a background...I have an APEX application where users can choose parts from a small part master list to add to an existing order. The existing order will not have a status of Closed or Cancelled and there will be atleast 1 line in the order before the new parts are added. The parts will be added as new lines to the order with some of the new line data defaulting to the same information as the first line. I am using EBS version 12.1.3 with a multi-org setup. It seems that the orders under one org (id=3) are working fine, but another org(id=569) they never work and keep getting the error. I am setting the context to the org of the order and initializing the apps user information with the responsibility "Order Management Super User".
    Do you have any idea what could be wrong or how I can debug the error to get a little more detail?
    Here is the procedure I have.
    PROCEDURE TEK_ORD_PROCESS_ORDER(p_order_id IN NUMBER, p_return_code OUT NOCOPY VARCHAR2, p_status OUT NOCOPY VARCHAR2) IS
        CURSOR c_order_parts IS
          SELECT *
            FROM TEK_APEX.TEK_ORD_ORDER_PARTS
           WHERE ORDER_ID = p_order_id;
        TYPE t_parts IS TABLE OF TEK_APEX.TEK_ORD_ORDER_PARTS%ROWTYPE;
        v_order_parts t_parts;
        --Setup variables
        H_Op_Code      VARCHAR2(25) DEFAULT OE_GLOBALS.G_OPR_UPDATE;
        L_Op_Code      VARCHAR2(25) DEFAULT OE_GLOBALS.G_OPR_CREATE;
        v_install_type VARCHAR2(25) := 'PTO';
        v_source_id    NUMBER;
        v_user_id      NUMBER;
        v_resp_id      NUMBER;
        v_app_id       NUMBER;
        v_debug        VARCHAR2(32767);
        v_oracle_order OE_ORDER_HEADERS_ALL%ROWTYPE;
        v_apex_order   TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE;
        p_header_rec                    OE_Order_Pub.Header_Rec_Type;
        p_header_val_rec                OE_Order_Pub.Header_Val_Rec_Type;
        p_Header_Adj_tab                OE_Order_Pub.Header_Adj_Tbl_Type;
        p_Header_Adj_val_tab            OE_Order_Pub.Header_Adj_Val_Tbl_Type;
        p_Header_price_Att_tab          OE_Order_Pub.Header_Price_Att_Tbl_Type;
        p_Header_Adj_Att_tab            OE_Order_Pub.Header_Adj_Att_Tbl_Type;
        p_Header_Adj_Assoc_tab          OE_Order_Pub.Header_Adj_Assoc_Tbl_Type;
        p_Header_Scredit_tab            OE_Order_Pub.Header_Scredit_Tbl_Type;
        p_Header_Scredit_val_tab        OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
        p_line_tab                      OE_Order_Pub.Line_Tbl_Type;
        p_line_val_tab                  OE_Order_Pub.Line_Val_Tbl_Type;
        p_Line_Adj_tab                  OE_Order_Pub.Line_Adj_Tbl_Type;
        p_Line_Adj_val_tab              OE_Order_Pub.Line_Adj_Val_Tbl_Type;
        p_Line_price_Att_tab            OE_Order_Pub.Line_Price_Att_Tbl_Type;
        p_Line_Adj_Att_tab              OE_Order_Pub.Line_Adj_Att_Tbl_Type;
        p_Line_Adj_Assoc_tab            OE_Order_Pub.Line_Adj_Assoc_Tbl_Type;
        p_Line_Scredit_tab              OE_Order_Pub.Line_Scredit_Tbl_Type;
        p_Line_Scredit_val_tab          OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
        p_Lot_Serial_tab                OE_Order_Pub.Lot_Serial_Tbl_Type;
        p_Lot_Serial_val_tab            OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
        p_action_request_tab            OE_Order_pub.Request_Tbl_Type;
        l_header_rec                    OE_Order_Pub.Header_Rec_Type;
        l_header_val_rec                OE_Order_Pub.Header_Val_Rec_Type;
        l_Header_Adj_tab                OE_Order_Pub.Header_Adj_Tbl_Type;
        l_Header_Adj_val_tab            OE_Order_Pub.Header_Adj_Val_Tbl_Type;
        l_Header_price_Att_tab          OE_Order_Pub.Header_Price_Att_Tbl_Type;
        l_Header_Adj_Att_tab            OE_Order_Pub.Header_Adj_Att_Tbl_Type;
        l_Header_Adj_Assoc_tab          OE_Order_Pub.Header_Adj_Assoc_Tbl_Type;
        l_Header_Scredit_tab            OE_Order_Pub.Header_Scredit_Tbl_Type;
        l_Header_Scredit_val_tab        OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
        l_line_tab                      OE_Order_Pub.Line_Tbl_Type;
        l_line_val_tab                  OE_Order_Pub.Line_Val_Tbl_Type;
        l_Line_Adj_tab                  OE_Order_Pub.Line_Adj_Tbl_Type;
        l_Line_Adj_val_tab              OE_Order_Pub.Line_Adj_Val_Tbl_Type;
        l_Line_price_Att_tab            OE_Order_Pub.Line_Price_Att_Tbl_Type;
        l_Line_Adj_Att_tab              OE_Order_Pub.Line_Adj_Att_Tbl_Type;
        l_Line_Adj_Assoc_tab            OE_Order_Pub.Line_Adj_Assoc_Tbl_Type;
        l_Line_Scredit_tab              OE_Order_Pub.Line_Scredit_Tbl_Type;
        l_Line_Scredit_val_tab          OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
        l_Lot_Serial_tab                OE_Order_Pub.Lot_Serial_Tbl_Type;
        l_Lot_Serial_val_tab            OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
        l_ret_status                    VARCHAR2(200);
        l_msg_count                     NUMBER;
        l_msg_data                      VARCHAR2(200);
           --Email information
        v_email_address           varchar2(100);
           v_msg_text                varchar(1000);
           v_subject_text            varchar(1000);
           --Default line information
        v_item_id           NUMBER;
        v_contact_id        NUMBER;
        v_invoice_to_org_id oe_order_lines_all.INVOICE_TO_ORG_ID%TYPE;
        v_ship_to_org_id    oe_order_lines_all.SHIP_TO_ORG_ID%TYPE;
        v_sold_to_org_id    oe_order_lines_all.SOLD_TO_ORG_ID%TYPE;
        v_flow_status_code  oe_order_lines_all.FLOW_STATUS_CODE%TYPE;
        FUNCTION GET_ORACLE_ORDER(p_order_number IN OE_ORDER_HEADERS_ALL.ORDER_NUMBER%TYPE)
          RETURN OE_ORDER_HEADERS_ALL%ROWTYPE IS
          v_order OE_ORDER_HEADERS_ALL%ROWTYPE;
        BEGIN
          SELECT *
            INTO v_order
            FROM APPS.OE_ORDER_HEADERS_ALL
           WHERE ORDER_NUMBER = p_order_number;
          RETURN v_order;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_ORACLE_ORDER;
        FUNCTION GET_APEX_ORDER(p_order_id IN TEK_APEX.TEK_ORD_SALES_ORDERS.ORDER_ID%TYPE)
          RETURN TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE IS
          v_order TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE;
        BEGIN
          SELECT *
            INTO v_order
            FROM TEK_APEX.TEK_ORD_SALES_ORDERS
           WHERE ORDER_ID = p_order_id;
          RETURN v_order;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_APEX_ORDER;
        FUNCTION GET_SOURCE_ID(p_source_name IN VARCHAR2)
          RETURN OE_ORDER_SOURCES.ORDER_SOURCE_ID%TYPE IS
          v_source_id OE_ORDER_SOURCES.ORDER_SOURCE_ID%TYPE;
        BEGIN
          SELECT ORDER_SOURCE_ID
            INTO v_source_id
            FROM APPS.OE_ORDER_SOURCES
           WHERE NAME = p_source_name;
          RETURN v_source_id;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_SOURCE_ID;
        FUNCTION GET_ITEM_ID(p_part_number IN VARCHAR2, p_org_id IN NUMBER)
          RETURN MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE IS
          v_item_id MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE;
        BEGIN
          SELECT INVENTORY_ITEM_ID
            INTO v_item_id
            FROM APPS.MTL_SYSTEM_ITEMS
           WHERE SEGMENT1 = p_part_number
             AND ORGANIZATION_ID = p_org_id;
          RETURN v_item_id;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_ITEM_ID;
      BEGIN
        apps.mo_global.set_policy_context('S',3);
        apps.mo_global.init('XXTEK');
        BEGIN
          SELECT USER_ID
            INTO v_user_id
            FROM APPS.FND_USER
           WHERE USER_NAME = 'SYSADMIN';
        EXCEPTION
          WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting user');
        END;
        BEGIN
          SELECT RESPONSIBILITY_ID, APPLICATION_ID
            INTO v_resp_id, v_app_id
            FROM TEK_APEX.TEK_RR_ACTIVE_RESP_VW
           WHERE UPPER(RESPONSIBILITY_NAME) = 'ORDER MANAGEMENT SUPER USER';
          --Set current user information
          fnd_global.apps_initialize (user_id      => v_user_id
                                     ,resp_id      => v_resp_id
                                     ,resp_appl_id => v_app_id);
        EXCEPTION
          WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting responsibility');
        END;
        --Get the order information from Oracle and APEX
        v_apex_order := GET_APEX_ORDER(p_order_id);
        IF v_apex_order.ORDER_ID IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'APEX Order ID is invalid: ' || p_order_id);
        END IF;
        v_oracle_order := GET_ORACLE_ORDER(TO_NUMBER(v_apex_order.ORDER_NUMBER));
        IF v_oracle_order.ORDER_NUMBER IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'Order Number not found in Oracle: ' || v_apex_order.ORDER_NUMBER);
        END IF;
        apps.mo_global.set_policy_context('S', v_oracle_order.ORG_ID);
        v_source_id := GET_SOURCE_ID('IMPORT');
        IF v_source_id IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'Source ID not found for IMPORT');
        END IF;
        /* ********** Gather Order Header********** */
        /* ********** Info.              ********** */
        OE_Order_Pub.Get_Order(p_api_version_number    =>      1.0,
                               p_init_msg_list         =>      FND_API.G_TRUE,
                               p_return_values         =>      FND_API.G_TRUE,
                               x_return_status         =>      l_ret_status,
                               x_msg_count             =>      l_msg_count,
                               x_msg_data              =>      l_msg_data,
                               p_header_id             =>      v_oracle_order.HEADER_ID,
                               p_header                =>      NULL,
                               x_header_rec            =>      l_header_rec,
                               x_header_val_rec        =>      l_header_val_rec,
                               x_Header_Adj_tbl        =>      l_Header_Adj_tab,
                               x_Header_Adj_val_tbl    =>      l_Header_Adj_val_tab,
                               x_Header_price_Att_tbl  =>      l_Header_price_Att_tab,
                               x_Header_Adj_Att_tbl    =>      l_Header_Adj_Att_tab,
                               x_Header_Adj_Assoc_tbl  =>      l_Header_Adj_Assoc_tab,
                               x_Header_Scredit_tbl    =>      l_Header_Scredit_tab,
                               x_Header_Scredit_val_tbl=>      l_Header_Scredit_val_tab,
                               x_line_tbl              =>      l_line_tab,
                               x_line_val_tbl          =>      l_line_val_tab,
                               x_Line_Adj_tbl          =>      l_Line_Adj_tab,
                               x_Line_Adj_val_tbl      =>      l_Line_Adj_val_tab,
                               x_Line_price_Att_tbl    =>      l_Line_price_Att_tab,
                               x_Line_Adj_Att_tbl      =>      l_Line_Adj_Att_tab,
                               x_Line_Adj_Assoc_tbl    =>      l_Line_Adj_Assoc_tab,
                               x_Line_Scredit_tbl      =>      l_Line_Scredit_tab,
                               x_Line_Scredit_val_tbl  =>      l_Line_Scredit_val_tab,
                               x_Lot_Serial_tbl        =>      l_Lot_Serial_tab,
                               x_Lot_Serial_val_tbl    =>      l_Lot_Serial_val_tab);
        --Save defaults from first line
        IF l_line_tab.EXISTS(1) THEN
          v_contact_id        := l_line_tab(1).SHIP_TO_CONTACT_ID;
          v_invoice_to_org_id := l_line_tab(1).INVOICE_TO_ORG_ID;
          v_ship_to_org_id    := l_line_tab(1).SHIP_TO_ORG_ID;
          v_sold_to_org_id    := l_line_tab(1).SOLD_TO_ORG_ID;
          v_flow_status_code  := l_line_tab(1).FLOW_STATUS_CODE;
        END IF;
        --Clear out the line array before adding any new parts
        FOR i IN l_line_tab.FIRST..l_line_tab.LAST LOOP
          l_line_tab.DELETE(i);
          l_line_val_tab.DELETE(i);
          l_line_adj_tab.DELETE(i);
          l_line_adj_val_tab.DELETE(i);
          l_line_price_att_tab.DELETE(i);
          l_line_adj_att_tab.DELETE(i);
          l_line_adj_assoc_tab.DELETE(i);
          l_line_scredit_tab.DELETE(i);
          l_line_scredit_val_tab.DELETE(i);
          l_lot_serial_tab.DELETE(i);
          l_lot_serial_val_tab.DELETE(i);
        END LOOP;
        /* ********** Gather Order Lines ********** */
        OPEN c_order_parts;
        FETCH c_order_parts BULK COLLECT INTO v_order_parts;
        CLOSE c_order_parts;
        FOR i IN v_order_parts.FIRST..v_order_parts.LAST LOOP
          v_item_id := GET_ITEM_ID(v_order_parts(i).PART_NUMBER, v_oracle_order.SHIP_FROM_ORG_ID);
          IF v_item_id IS NULL THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting part number ' || v_order_parts(i).PART_NUMBER);
          END IF;
          --Clear line first
          l_line_tab(i)             := OE_Order_Pub.G_Miss_Line_Rec;
             l_line_val_tab(i)         := OE_ORDER_PUB.G_MISS_LINE_VAL_REC;
          l_line_adj_tab(i)             := OE_ORDER_PUB.G_MISS_LINE_ADJ_REC;
          l_line_adj_val_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_REC;
          l_line_price_att_tab(i)      := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_REC ;
          l_line_adj_att_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_REC;
          l_line_adj_assoc_tab(i)   := OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_REC;
          l_line_scredit_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC;
          l_line_scredit_val_tab(i) := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_REC;
          l_lot_serial_tab(i)       := OE_ORDER_PUB.G_MISS_LOT_SERIAL_REC;
          l_lot_serial_val_tab(i)   := OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_REC;
          --Set line information
             l_line_tab(i).PRICE_LIST_ID          := v_oracle_order.PRICE_LIST_ID;
          l_line_tab(i).header_id              := v_oracle_order.header_id;
          l_line_tab(i).inventory_item_id      := v_item_id;
          l_line_tab(i).ordered_quantity       := v_order_parts(i).QUANTITY;
          l_line_tab(i).operation              := l_op_code;
          l_line_tab(i).unit_list_price        := 0;
          l_line_tab(i).ship_from_org_id       := v_oracle_order.ship_from_org_id;
          l_line_tab(i).program_id             := fnd_global.conc_program_id ;
          l_line_tab(i).program_application_id := fnd_global.PROG_APPL_ID;
          l_line_tab(i).order_source_id        := v_source_id;
          l_line_tab(i).calculate_price_flag   := 'N' ;
          l_line_tab(i).unit_selling_price     := 0.00 ;
             l_line_tab(i).request_date           := v_apex_order.onsite_date;
             l_line_tab(i).Schedule_ship_date     := v_apex_order.onsite_date;
             l_line_tab(i).promise_date           := null;
          l_line_tab(i).invoice_to_org_id      := v_invoice_to_org_id;
          l_line_tab(i).ship_to_org_id         := v_ship_to_org_id;
          l_line_tab(i).sold_to_org_id         := v_sold_to_org_id;
          l_line_tab(i).ship_to_contact_id     := v_contact_id;
        END LOOP;
    --OE_DEBUG_PUB.DEBUG_ON;
    --OE_DEBUG_PUB.Initialize;
    --OE_DEBUG_PUB.SetDebugLevel(5);
        --Add lines to order
        OE_Order_Pub.Process_order(p_api_version_number            =>      1.0,
                                   p_init_msg_list                 =>      FND_API.G_TRUE,
                                   p_return_values                 =>      FND_API.G_TRUE,
                                   p_action_commit                 =>      FND_API.G_FALSE,
                                   x_return_status                 =>      l_ret_status,
                                   x_msg_count                     =>      l_msg_count,
                                   x_msg_data                      =>      l_msg_data,
                                   p_header_rec                    =>  l_header_rec,
                                   p_old_header_rec                =>  l_header_rec,
                                   p_header_val_rec                =>  l_header_val_rec,
                                   p_old_header_val_rec            =>  l_header_val_rec,
                                   p_Header_Adj_tbl                =>  l_Header_Adj_tab,
                                   p_old_Header_Adj_tbl            =>  l_Header_Adj_tab,
                                   p_Header_Adj_val_tbl            =>  l_Header_Adj_val_tab,
                                   p_old_Header_Adj_val_tbl        =>  l_Header_Adj_val_tab,
                                   p_Header_price_Att_tbl          =>  l_Header_price_Att_tab,
                                   p_old_Header_Price_Att_tbl      =>  l_Header_price_Att_tab,
                                   p_Header_Adj_Att_tbl            =>  l_Header_Adj_Att_tab,
                                   p_old_Header_Adj_Att_tbl        =>  l_Header_Adj_Att_tab,
                                   p_Header_Adj_Assoc_tbl          =>  l_Header_Adj_Assoc_tab,
                                   p_old_Header_Adj_Assoc_tbl      =>  l_Header_Adj_Assoc_tab,
                                   p_Header_Scredit_tbl            =>  l_Header_Scredit_tab,
                                   p_old_Header_Scredit_tbl        =>  l_Header_Scredit_tab,
                                   p_Header_Scredit_val_tbl        =>  l_Header_Scredit_val_tab,
                                   p_old_Header_Scredit_val_tbl    =>  l_Header_Scredit_val_tab,
                                   p_line_tbl                      =>  l_line_tab,
                                   p_line_val_tbl                  =>  l_line_val_tab,
                                   p_Line_Adj_tbl                  =>  l_line_adj_tab,
                                   p_Line_Adj_val_tbl              =>  l_line_adj_val_tab,
                                   p_Line_price_Att_tbl            =>  l_line_price_att_tab,
                                   p_Line_Adj_Att_tbl              =>  l_line_adj_att_tab,
                                   p_Line_Adj_Assoc_tbl            =>  l_line_adj_assoc_tab,
                                   p_Line_Scredit_tbl              =>  l_line_scredit_tab,
                                   p_Line_Scredit_val_tbl          =>  l_line_scredit_val_tab,
                                   p_Lot_Serial_tbl                =>  l_lot_serial_tab,
                                   p_Lot_Serial_val_tbl            =>  l_lot_serial_val_tab,
                                   p_action_request_tbl            =>  OE_ORDER_PUB.G_MISS_REQUEST_TBL,
                                   x_header_rec                    =>      p_header_rec,
                                   x_header_val_rec                =>      p_header_val_rec,
                                   x_Header_Adj_tbl                =>      p_Header_Adj_tab,
                                   x_Header_Adj_val_tbl            =>      p_Header_Adj_val_tab,
                                   x_Header_price_Att_tbl          =>      p_Header_price_Att_tab,
                                   x_Header_Adj_Att_tbl            =>      p_Header_Adj_Att_tab,
                                   x_Header_Adj_Assoc_tbl          =>      p_Header_Adj_Assoc_tab,
                                   x_Header_Scredit_tbl            =>      p_Header_Scredit_tab,
                                   x_Header_Scredit_val_tbl        =>      p_Header_Scredit_val_tab,
                                   x_line_tbl                      =>      p_line_tab,
                                   x_line_val_tbl                  =>      p_line_val_tab,
                                   x_line_adj_tbl                  =>      p_line_adj_tab,
                                   x_line_adj_val_tbl              =>      p_line_adj_val_tab,
                                   x_line_price_att_tbl            =>      p_line_price_att_tab,
                                   x_line_adj_att_tbl              =>      p_line_adj_att_tab,
                                   x_line_adj_assoc_tbl            =>      p_line_adj_assoc_tab,
                                   x_line_scredit_tbl              =>      p_line_scredit_tab,
                                   x_line_scredit_val_tbl          =>      p_line_scredit_val_tab,
                                   x_lot_serial_tbl                =>      p_lot_serial_tab,
                                   x_lot_serial_val_tbl            =>      p_lot_serial_val_tab,
                                   x_action_request_tbl            =>      p_action_request_tab);
    --  OE_DEBUG_PUB.DEBUG_OFF;
        p_return_code := l_ret_status;
        IF l_ret_status != 'S' THEN
          DBMS_OUTPUT.PUT_LINE(l_msg_data);
          IF l_msg_count = 1 THEN
            p_status := OE_Msg_Pub.Get(1,'F');
          ELSE
            FOR i IN 1..l_msg_count LOOP
              p_status := OE_Msg_Pub.Get(i,'F') || '<br />';
            END LOOP;
          END IF;
          p_status := 'Error loading lines<br>' || p_status;
        ELSE
          p_status := 'Order Processed Successfully<br>' || v_order_parts.COUNT || ' Line(s) Loaded';
        END IF;
    --    WHILE OE_DEBUG_PUB.G_DEBUG_INDEX < OE_DEBUG_PUB.CountDebug LOOP
    --      OE_DEBUG_PUB.GetNext(v_debug);
    --      DBMS_OUTPUT.PUT_LINE(v_debug);
    --    END LOOP;
      EXCEPTION
        WHEN OTHERS THEN
          ROLLBACK;
          RAISE;
      END TEK_ORD_PROCESS_ORDER;Thanks!
    Jonathan Hart

    Hello,
    Try the following
    1) Check if any processing constraints are applied to customer/location
    2) Try to create a new customer and associate internal location.
    Create a new order to reproduce the issue
    Thanks
    -Arif

  • How do I make a form field validate that it is the sum of two other fields?

    Hi there,
    I am creating a form, and I would like one of the fields to validate by making sure that this field is the sum of two other fields in the form.  Does anyone have any ideas on how to go about this?  I know I'll need to run a custom validation script, but I'm not sure where to begin - I've never done one for validation before.
    Thanks for any help!

    OK, here's a sample script that I hope will clearly demonstrate the general approach. It is intended to be the custom Validate script of the field that the user enters that value that is supposed to be equal to the sum of the two others.
    // Custom Validate script
    (function () {
        // Get the value that the user entered
        var sVal = event.value;
        // If it is blank, do nothing else
        if (!sVal) {
            return;
        // Convert string to a number
        nVal = +sVal;
        // Get the values of the fields, as numbers
        var v1 = +getField("text1").value;
        var v2 = +getField("text2").value;
        // Add them together, rounding to two decimal places, converting to number
        var sum = +util.printf("%.2f", v1 + v2);
        // Compare entered value to the sum of the other two fields
        // Alter the user if they do not match
        if (nVal !== sum) {
            app.alert("The value you entered does not equal the sum of text1 and text2. Please correct.", 3);
            // If you want the entered value rejected, include the following
            event.rc = false;
    Replace "text1" and "text2" with the actual field names.

  • Help using multiple if else statements & manual dynamic xml data input to trigger a goto and play.

    Below is code that has a timer countdown that reads off of the computer. Below in bold is code to read "if it reaches the date, go to and play frame (2).
    timer.removeEventListener(TimerEvent.TIMER, updateTime);
      timer.stop();
      gotoAndPlay(2);
    Below is code that is manual input-   I had set up a dynamic txt field in flash named it : raffle_tix_remain When loaded on to the host I can manulally update the xml code and the change will take effect.
    raffle_tix_remain.text = root.loaderInfo.parameters.raffle_tix_remain;
    My question:  Since the raffle_tix_remain is a manual input from a user to xml  Is there a way to tell flash once it refreshes and "raffle_ tix_ remain"  goes to (0) zero gotoAndPlay(2); and let it play like a "sold out" sign
    i guess that would be a  if else statement. 
    Code Below-----------------
    stop();
    var year:Number = 2011;
    var month:Number = 12;
    var day:Number = 30;
    var finalDate:Date = new Date(year,month-1,day);
    var timer:Timer = new Timer(100);
    timer.addEventListener(TimerEvent.TIMER, updateTime);
    timer.start();
    function updateTime(e:TimerEvent):void{
              var now:Date = new Date();
              var remainTime:Number = finalDate.getTime() - now.getTime();
              if (remainTime >0) {
                        var secs:Number = Math.floor(remainTime/1000);
                        var mins:Number = Math.floor(secs/60);
                        var hours:Number = Math.floor(mins/60);
                        var days:Number = Math.floor(hours/24);
                        var secsText:String = (secs%60).toString();
                        var minsText:String = (mins%60).toString();
                        var hoursText:String = (hours%24).toString();
                        var daysText:String = days.toString();
                        if (secsText.length < 2) {secsText = "0" + secsText;}
                        if (minsText.length < 2) {minsText = "0" + minsText;}
                        if (hoursText.length < 2) {hoursText = "0" + hoursText;}
                        if (daysText.length < 2) {daysText = "0" + daysText;}
                        day_txt.text = daysText;
                        hour_txt.text = hoursText;
                        min_txt.text = minsText;
                        sec_txt.text = secsText;
              else {
                        timer.removeEventListener(TimerEvent.TIMER, updateTime);
                        timer.stop();
                        gotoAndPlay(2);

    stop();
    var year:Number = 2011;
    var month:Number = 12;
    var day:Number = 30;
    var finalDate:Date = new Date(year,month-1,day);
      var now:Date = new Date();
    var timer:Timer = new Timer(1000);
    timer.addEventListener(TimerEvent.TIMER, updateTime);
    timer.start();
    function updateTime(e:TimerEvent):void{
             var remainTime:Number = finalDate.getTime() - now.getTime()-e.currentCount;
              if (remainTime >0 || raffle_tix_remain==0) {
                        var secs:Number = Math.floor(remainTime/1000);
                        var mins:Number = Math.floor(secs/60);
                        var hours:Number = Math.floor(mins/60);
                        var days:Number = Math.floor(hours/24);
                        var secsText:String = (secs%60).toString();
                        var minsText:String = (mins%60).toString();
                        var hoursText:String = (hours%24).toString();
                        var daysText:String = days.toString();
                        if (secsText.length < 2) {secsText = "0" + secsText;}
                        if (minsText.length < 2) {minsText = "0" + minsText;}
                        if (hoursText.length < 2) {hoursText = "0" + hoursText;}
                        if (daysText.length < 2) {daysText = "0" + daysText;}
                        day_txt.text = daysText;
                        hour_txt.text = hoursText;
                        min_txt.text = minsText;
                        sec_txt.text = secsText;
              else {
                        timer.removeEventListener(TimerEvent.TIMER, updateTime);
                        timer.stop();
                        gotoAndPlay(2);

  • Inserting a 'null' value in an IF THEN ELSE statement

    Greetings,
    I'm using Business Object webi XiR3
    I'd like to return a 'null' value in certain cases for an IF THEN ELSE statement.  Depending on if I format the field as a text or a number, I can return blanks ("") and zeros (0).  However, what I really need to do is leave the field / column formatted as a number and return a 'null' value.  You can see the variable below ... this will return a blank but the column is text.
    Suggestions?
    thanks.
    variable:
    =If([Comp Rate Mid] = 0 And( ([Market Rate 50th].085) - [Annual Total Targeted Comp] >=0) ; ([Market Rate 50th]0.85) - [Annual Total Targeted Comp]; If([Comp Rate Mid] <> 0 And( ([Comp Rate Mid] 0.85) - [Annual Total Targeted Comp] >=0) ; ([Comp Rate Mid]0.85) - [Annual Total Targeted Comp];""))

    I don't think this is possible using a formula, as formulas deal with content, and images can be placed in cells only as 'image fill', which is Format, rather than Content.
    Might be possible using an AppleScript, but I'm not the person to advise you on that.
    Regards,
    Barry

  • Populating other fields in a form based on the selection in a combobox field

    We have done a form(masterdetail) in which we have a combobox field.When we make a selection in the field we require some two other fields to be automatically populated retrieving data from a table(which has the details required) based on the selection made.For eg. Selecting emp id(combobox) should populate empname and salary automatically in the form.Is this possible?If so how can this be done?
    Thanks & Regards,
    Jayanthi.S

    This is what I did following Michael's suggestion and it works fine :-
    1> Created a dynamic LOV named LOV_EMPNO as:-
    select empno,empno from scott.emp
    2> Started creating a form named FORM024_EMP2 on scott.emp.
    3> On reaching the Formatting and Validation section, I chose the EMPNO field in the left frame.
    In the right frame for EMPNO, I changed the item-type to Combobox and selected the lov LOV_EMPNO.
    Then I went to the Javascript handler section for EMPNO, chose the Javascript event onChange and in the
    adjacent Textarea, I wrote:-
    popdetails(this);
    We will create the javascript function popdetails() in the Additional pl/sql section.
    4> Click next and goto the Additional PL/SQL section and I wrote the following code in
    "...after displaying the page" area.
    (You can write this either in
    before displaying the page,
    before displaying the form,
    after displaying the form,
    after displaying the page).
    declare
    type tvcarr is table of varchar2(2000) index by binary_integer;
    l_empno_arr tvcarr;
    l_ename_arr tvcarr;
    l_sal_arr tvcarr;
    begin
    select empno,ename,sal
    bulk collect into
    l_empno_arr,l_ename_arr,l_sal_arr
    from scott.emp;
    htp.p('
    <script>
    var empdets = new Array();
    empdets[0] = new Array("","");
    for i in 1..l_empno_arr.count
    loop
    htp.p('empdets['||l_empno_arr(i)||'] = new Array("'||l_ename_arr(i)||'","'||l_sal_arr(i)||'");');
    end loop;
    htp.p('
    function popdetails(ele)
    var val = new Number();
    var thisform = ele.form;
    val = parseInt(ele.value);
    if (isNaN(val))
    val = 0;
    for (var i = 0; i < thisform.length; i++){
    if (thisform.name == "FORM024_EMP2.DEFAULT.ENAME.01")
    thisform[i].value = empdets[val][0];
    else if(thisform[i].name == "FORM024_EMP2.DEFAULT.SAL.01")
    thisform[i].value = empdets[val][1];
    htp.p('</script>');
    end;

  • Having trouble with an else statement.........

    I am having trouble figuring out what to do with this else statement error.........I can't seem to see where I am going wrong...............can anyone help? I can compile it but I just keep getting this one error I can't fix.....................
    Program Name:     Transfer
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Transfer extends Frame implements ActionListener
    DataOutputStream output;
    //Construct components
    Panel dataFields = new Panel();
    Panel firstRow = new Panel();
    Panel secondRow = new Panel();
    Panel thirdRow = new Panel();
    Panel fourthRow = new Panel();
    Panel buttonArea = new Panel();
    Button submit = new Button("Submit");
    Button exit = new Button("Exit");
    Label firstNameLabel = new Label("Name:");
    TextField firstName = new TextField(15);
    Label studentIdLabel = new Label("Student ID:");
    TextField studentId = new TextField(15);
    Label transferCourseLabel = new Label("Transfer Course Number:");
    TextField transferCourse = new TextField (15);
    Label localCourseLabel = new Label("Local Course Number:");
    TextField localCourses = new TextField (15);
    public static void main(String args[])
    Transfer window = new Transfer();
    window.setTitle("Transfer Course Substitutions");
    window.setSize(450, 250);
    window.setVisible(true);
    public Transfer()
    //set backgound and layout managers
    setBackground(Color.magenta);
    setLayout(new BorderLayout());
    dataFields.setLayout(new GridLayout(4,2));
    FlowLayout rowSetup = new FlowLayout(FlowLayout.LEFT,4,2);
    firstRow.setLayout(rowSetup);
    secondRow.setLayout(rowSetup);
    thirdRow.setLayout(rowSetup);
    fourthRow.setLayout(rowSetup);
    buttonArea.setLayout(new FlowLayout());
    //Add fields to rows
    firstRow.add(firstNameLabel);
    secondRow.add(studentIdLabel);
    thirdRow.add(transferCourseLabel);
    fourthRow.add(localCourseLabel);
    //Add rows to panel
    dataFields.add(firstRow);
    dataFields.add(secondRow);
    dataFields.add(thirdRow);
    dataFields.add(fourthRow);
    //Add buttons to panel
    buttonArea.add(submit);
    buttonArea.add(exit);
    //Add panels to frame
    add(dataFields, BorderLayout.NORTH);
    add(buttonArea, BorderLayout.SOUTH);
    //Add functionality to buttons
    submit.addActionListener(this);
    exit.addActionListener(this);
    // output states
    try
    output = new DataOuputStream(new FileOUtputStream("Transfer.dat"));
    catch(IOException ex)
    System.exit(1);
    //construct window listener
    addWindowListener(
    new WindowAdapter()
    public void windowClosing(WindowEvent e)
    System.exit(0);
    public void actionPerformed(ActionEvent e)
    String arg = e.getActionCommand();
    if (arg == "Submit")
    try
    output.writeUTF(code);
    output.writeUTF(firstName.getText());
    output.writeUTF(studentId.getText());
    output.writeUTF(transferCourse.getText());
    output.writeUTF(localCourse.getText());
    catch(IOException ex)
    System.exit(1);
    clearFields();
    else //code to execute if the user clicks Exit
    try
    output.close();
    catch(IOException c)
    System.exit(1);
    System.exit(0);
    public void clearFields()
    firstName.setText("");
    studentId.setText("");
    transferCourse.setText("");
    localCourse.setText("");
    firstName.requestFocus();

    The == method does work but it compares Object references and not the String contents. If the string you are comparing is actually the same object it will reply with 'true' also id both Strings are generated with quotes in the same methos and they contain the same string it will also work. This because the compiler will optimize your creating 2 identical Strings to 1 crete statement.
    String a = "Hello";
    String b = "Hello";
    String c = new String("Hello");
    String d = "He" + "llo";
    String e = "He";
    e +="llo";
    a == b ==> true : because of optimization
    a == c ==> false: because of different objects
    a.equals(c) ==> true
    a == d ==> true : because of optimization
    a == e ==> false : because of different objects

  • Problem with else statement

    There is an if statement in this servlet which basically checks for null values, that works grand, however, when I added in an else statement (for the try and catch functions), the servlet let won't run. Is it not possible to embed Try and Catch functions with an else loop?
    package client;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import business.Client;
    import data.ClientDB;
    import util.MarshPool;
    public class AddClientServlet extends HttpServlet{
        private MarshPool connectionPool;
        public void init() throws ServletException{
            connectionPool = MarshPool.getInstance();
        public void destroy() {
            connectionPool.destroy();
        public void doPost(HttpServletRequest request,
                          HttpServletResponse response)
                          throws IOException, ServletException{
            Connection connection = connectionPool.getConnection();
            String clientName = request.getParameter("clientName");
            String address1 = request.getParameter("address1");
            String address2 = request.getParameter("address2");
            String address3 = request.getParameter("address3");
            String postCode = request.getParameter("postCode");
            String county = request.getParameter("county");
            String country = request.getParameter("country");
            String since = request.getParameter("since");
            String category = request.getParameter("category");
            String units = request.getParameter("units");
            String company = request.getParameter("company");
            String ae = request.getParameter("ae");
              String phoneNo = request.getParameter("phoneNo");
            String faxNo = request.getParameter("faxNo");
            String mobileNo = request.getParameter("mobileNo");
            String emailAddress = request.getParameter("emailAddress");
            String comments = request.getParameter("comments");
            int clientNo = 0;
            int active = 0;
            String message = "";
            HttpSession session = request.getSession();
            Client client = new Client (clientNo, clientName, address1, address2, address3, postCode, county, country, company, units, category, ae, emailAddress, phoneNo, faxNo, mobileNo, comments, since, active);
            session.setAttribute("client", client);
              if ((clientName.length()==0) || (address1.length()==0) ||(category.length()==0) || (units.length()==0) ||(company.length()==0)||(ae.length()==0) ||(country.length()==0) ||(since.length()==0)){
                 message = "Please enter values in all the required fields";
                 session.setAttribute("message", message);
                 RequestDispatcher dispatcher =
                     getServletContext().getRequestDispatcher(
                        "/client/missingfield.jsp");
                 dispatcher.forward(request, response);
            else{     
                 try{
                    ClientDB.addRecord(connection, client);
                        message = "Client entered successfully";
                         session.setAttribute("message", message);
                    RequestDispatcher dispatcher =
                            getServletContext().getRequestDispatcher(
                                "/client/added_client.jsp");
                    dispatcher.forward(request, response);
                 catch(SQLException sqle){
                     message = "EmailServlet SQLException: " + sqle;
                     session.setAttribute("message", message);
                     RequestDispatcher dispatcher =
                         getServletContext().getRequestDispatcher(
                             "/eurosys/");
                     dispatcher.forward(request, response);
            connectionPool.freeConnection(connection);
    }

    If what you mean is that you used to have:
      if ( clientName == null // ... ... B4 checking their length, then yeah, put that back in. You can't check the length on a null Object.
    But why would you remove that? I think you should post the code the way it existed B4 you altered it and let's see the diff.

Maybe you are looking for

  • No organizer in Photoshop Elements 9 for Mac?

         Is that normal? I've been trying to learn how to use photoshop with online tutorials, but they are not much help when every video says to start in organizer which I don't have it. There isn't even a button for it. How do you import your photos i

  • Internal/System Mic How do I get it back?

    So a while back I carelessly removed the microphone built into my laptop (the software or whatever in the volume control options not the actual hardware) which is a Satellite C655-5068. I did not know i had actually removed the driver, and I was wond

  • CS5 Could not initialize Photoshop because of a program error

    Friday I did work as usual editing and cropping images from my PSD files. Over the weekend I did not work but checked email and performed an Apple update, the new one where iPhoto goes away and now I have Photos. Monday I tried to open Photoshop and

  • Forum Suggestion - FAQ's

    The same subjects keep coming up time and time again. Would it not be of help to such users and the people answering their questions if we could group some of the most popular questions? e.g. Printing Problems Black Screen Primary problems Managed vs

  • Cannot activate CS5 subscription edition

    I have installed CS5 subscription edition on my computer and then used the 30 day free trial.  That has now run out, so I have been trying to activate my program  now using my serial number, but I keep on getting the message "Activation failed...we a