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 PMHi 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,
fractalLooks 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
2008thanks.. 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 -
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.
taiTai,
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 HartHello,
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. -
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.SThis 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; -
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 -
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
-
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