Pa_Project_Pub.create_project, The class category is invalid.

ERROR:
The class category is invalid.
while creating project using API Pa_Project_Pub.create_project.
If anyone knows what the problem is, please reply.
This seems more of a project template problem, as the same API works allright in other instances, could anyone tell me how to go about fixing this.
Cheers
Nemo

ERROR:
The class category is invalid.
while creating project using API Pa_Project_Pub.create_project.
If anyone knows what the problem is, please reply.
This seems more of a project template problem, as the same API works allright in other instances, could anyone tell me how to go about fixing this.
Cheers
Nemo

Similar Messages

  • I got Class category is invalid error. while i am trying to create project by using pa_project_pub API trough backend

    Hi Everyone,
    Can you please help me.. how can i solve this problem.
    please find out the following code which was i written..
    DECLARE
      -- Variables needed to create task hierachy
      level1               NUMBER;
      level2               NUMBER;
      level3               NUMBER;
      a                    NUMBER;
      m                    NUMBER;
      parent_level1         VARCHAR2(30);
      parent_level2         VARCHAR2(30);
      parent_level3         VARCHAR2(30);
      number_of_tasks1      NUMBER;        -- number of tasks/levels
      number_of_tasks2      NUMBER;
      number_of_tasks3      NUMBER;
      number_of_tasks4      NUMBER;
      -- Variables needed for API standard parameters
      l_api_version_number  NUMBER := 1.0;
      l_commit                VARCHAR2(1) := 'F';
      l_return_status       VARCHAR2(1);
      l_init_msg_list       VARCHAR2(1) := 'F';
      l_msg_count           NUMBER;
      l_msg_index_out       NUMBER;
      l_msg_data            VARCHAR2(2000);
      l_data                VARCHAR2(2000);
      l_workflow_started    VARCHAR2(1) := 'Y';
      l_pm_product_code     VARCHAR2(10);
    -- Predefined Composit data types
      l_project_in          PA_PROJECT_PUB.PROJECT_IN_REC_TYPE;
      l_project_out         PA_PROJECT_PUB.PROJECT_OUT_REC_TYPE;
      l_key_members         PA_PROJECT_PUB.PROJECT_ROLE_TBL_TYPE;
      l_class_categories    PA_PROJECT_PUB.CLASS_CATEGORY_TBL_TYPE;
      l_tasks_in_rec        PA_PROJECT_PUB.TASK_IN_REC_TYPE;
      l_tasks_in            PA_PROJECT_PUB.TASK_IN_TBL_TYPE;
      l_tasks_out_rec       PA_PROJECT_PUB.TASK_OUT_REC_TYPE;
      l_tasks_out           PA_PROJECT_PUB.TASK_OUT_TBL_TYPE;
      l_cust_rec            PA_PROJECT_PUB.CUSTOMER_IN_REC_TYPE;
      l_cust_tbl            PA_PROJECT_PUB.CUSTOMER_TBL_TYPE;
      l_person_id           NUMBER;
      l_project_role_type   VARCHAR2(20);
      l_responsibility_id    NUMBER;
      l_user_id        NUMBER;
      v_ind            NUMBER;
      API_ERROR                EXCEPTION;
    BEGIN
    -- GET GLOBAL VALUES
      select user_id, responsibility_id
      into  l_user_id, l_responsibility_id
      from pa_user_resp_v
      where user_name = 'SATISH'                    -- substitute valid username
      and responsibility_name = '*PAC Projects Administrator';    -- substitute responsibility name
    dbms_output.put_line( 'initilaization');
    -- SET GLOBAL VALUES
      pa_interface_utils_pub.set_global_info(
        p_api_version_number    => 1.0,
        p_responsibility_id     => l_responsibility_id,
        p_user_id               => l_user_id, 
        p_msg_count             => l_msg_count,
        p_msg_data              => l_msg_data,
        p_return_status         => l_return_status);
      dbms_output.put_line( 'Assigning values');
    -- PRODUCT RELATED DATA
      l_pm_product_code := 'GMS';         -- can be user defined
    -- PRODUCT DATA (PROJECT_IN_REC_TYPE)
      l_project_in.created_from_project_id := 11759;--'1746';--'11759';  -- Project id from template
      l_project_in.project_name := 'TEST_VS_14052014';
      l_project_in.pm_project_reference := 'TEST_VS_14052014';
      l_project_in.description := 'CREATION OF PROJECT(VS)';
      l_project_in.project_status_code := 'APPROVED';
      l_project_in.carrying_out_organization_id := 652;--3274;    -- can default from template
      l_project_in.start_date := '01-JAN-2007'; -- can override default from template
      l_project_in.completion_date := '31-JAN-2010';       -- can override default from template
      l_project_in.actual_start_date := '01-JAN-2010';
      l_project_in.actual_finish_date := '31-JAN-2010';
      l_project_in.early_start_date := '01-JAN-2010';
      l_project_in.early_finish_date :='31-JAN-2010';
      l_project_in.late_start_date := '01-JAN-2010';
      l_project_in.late_finish_date :='31-JAN-2010';
    -- l_proj_in.process_mode := 'ONLINE';
    -- l_project_in.customer_id := 1001;
    --KEY MEMBERS DATA (PROJECT_ROLE_TBL_TYPE)
    -- can be defaulted from the Template, but not from a Project
      m := 1;
      l_person_id := 34;            -- need to get from Apps
      l_project_role_type := 'PROJECT MANAGER';
      l_key_members(m).person_id := 53;
      l_key_members(m).project_role_type := 'PROJECT MANAGER';
    -- l_class_categories(1).class_category := 'Engineering';
      --l_class_categories(1).class_code := 'Programs';
      --l_class_categories(2).class_category := 'Planned';
      --l_class_categories(2).class_code := 'Active';
      l_class_categories(3).class_category := 'Rank';
      l_class_categories(3).class_code := 'CUST';
    -- CUSTOMERS
      v_ind := 0;
      l_cust_rec.customer_id                    := 1001;
      l_cust_rec.project_relationship_code      := 'CLIENT'; --cus.project_relationship_code;
      l_cust_rec.Bill_To_Customer_id            := NULL; --cus.x_bill_customer_id;    
      l_cust_rec.contact_id                     := NULL;                   --  pa_interface_utils_pub.g_pa_miss_num;
      l_cust_rec.project_contact_type_code      := NULL;  --  pa_interface_utils_pub.g_pa_miss_char;
      l_cust_rec.customer_bill_split            := NULL; --nvl(cus.customer_bill_split, pa_interface_utils_pub.g_pa_miss_num);
      l_cust_rec.allow_inv_user_rate_type_flag  := NULL; --nvl(cus.allow_inv_user_rate_type_flag, pa_interface_utils_pub.g_pa_miss_char);
      l_cust_rec.inv_rate_date                  := NULL; --nvl(cus.inv_rate_date, pa_interface_utils_pub.g_pa_miss_date);
      l_cust_rec.inv_rate_type                  := NULL; --nvl(cus.inv_rate_type, pa_interface_utils_pub.g_pa_miss_char);
      l_cust_rec.inv_currency_code              := NULL; --nvl(cus.inv_currency_code, pa_interface_utils_pub.g_pa_miss_char);
      l_cust_rec.inv_exchange_rate              := NULL; --nvl(cus.inv_exchange_rate, pa_interface_utils_pub.g_pa_miss_num);
      l_cust_rec.bill_another_project_flag      := 'Y'; --nvl(cus.bill_another_project_flag, pa_interface_utils_pub.g_pa_miss_char);
      l_cust_rec.RECEIVER_TASK_ID               := 35078;
      v_ind  :=  v_ind  +  1;
      l_cust_tbl   (v_ind)  :=  l_cust_rec;
    --CLASS CATEGORIES DATA (CLASS_CATEGORY_TBL_TYPE)
    --  l_class_categories(1).class_category := 'Product'; --value from template
    --  l_class_categories(1).class_code := 'Product 1';
    --TASKS DATA
      --Set the number of tasks for every level (there are 4 levels)
      number_of_tasks1 := 1;
      number_of_tasks2 := 2;
      number_of_tasks3 := 0;
      number_of_tasks4 := 0;
    -- This is just a set of looping structures to create the tasks and sub-tasks
    -- If it is difficult to understand, then feel free to create them individually.
      a := 0;
      for level1 in 1..number_of_tasks1 loop
        a := a + 1;
        l_tasks_in_rec.pm_task_reference := level1 || '.' || '0';
        l_tasks_in_rec.task_name := 'Top Level ' || level1 || '.' || '0';
        l_tasks_in_rec.pm_parent_task_reference := '';
        l_tasks_in_rec.task_start_date := '01-JAN-2010';
        l_tasks_in_rec.task_completion_date := '31-JAN-2010';
        l_tasks_in_rec.actual_start_date := '01-JAN-2010';
        l_tasks_in_rec.actual_finish_date :='31-JAN-2010';
        l_tasks_in_rec.early_start_date := '01-JAN-2010';
        l_tasks_in_rec.early_finish_date :='31-JAN-2010';
        l_tasks_in_rec.late_start_date := '01-JAN-2010';
        l_tasks_in_rec.late_finish_date :='31-JAN-2010';
        l_tasks_in_rec.receive_project_invoice_flag := 'Y';
        l_tasks_in(a) := l_tasks_in_rec;
        parent_level1 := level1 || '.' || '0';
        for level2 in 1..number_of_tasks2 loop
          a := a + 1;
          l_tasks_in_rec.pm_task_reference := level1 || '.' || level2;
          l_tasks_in_rec.task_name := '2 Level ' || level1 || '.' || level2;
          l_tasks_in_rec.pm_parent_task_reference := parent_level1;
          l_tasks_in(a) := l_tasks_in_rec;
          parent_level2 := level1 || '.' || level2;
        end loop;
      end loop;
    --INIT_CREATE_PROJECT
      pa_project_pub.init_project;
    --CREATE_PROJECT
      pa_project_pub.create_project(
        l_api_version_number,
        p_commit            => l_commit,
        p_init_msg_list     => l_init_msg_list,
        p_msg_count         => l_msg_count,
        p_msg_data          => l_msg_data,
        p_return_status     => l_return_status,
        p_workflow_started  => l_workflow_started,
        p_pm_product_code   => l_pm_product_code,
        p_project_in        => l_project_in,
        p_project_out       => l_project_out,
        p_key_members       => l_key_members,
        p_class_categories  => l_class_categories,
        p_tasks_in          => l_tasks_in,
        p_tasks_out         => l_tasks_out,
        p_customers_in      => l_cust_tbl);
    -- Check for errors
      if l_return_status != 'S'
      then
        raise API_ERROR;
      end if;
      dbms_output.put_line('New Project Id: ' || l_project_out.pa_project_id);
      dbms_output.put_line('New Project Number: ' || l_project_out.pa_project_number);
      Commit;
    --HANDLE EXCEPTIONS
    -- Get the error message that were returned if it did not complete sucessfully
      EXCEPTION
      When API_ERROR then
        if l_msg_count >= 1
        then
          for i in 1..l_msg_count loop
            pa_interface_utils_pub.get_messages(
            p_msg_data      => l_msg_data,
            p_encoded       => 'F',
            p_data          => l_data,
            p_msg_count     => l_msg_count,
            p_msg_index     => l_msg_count,    -- Added in 11i.PA.I
            p_msg_index_out => l_msg_index_out);
            dbms_output.put_line('error message: ' || l_data);
          end loop;
          rollback;
        end if;
      When OTHERS then
        if l_msg_count >= 1
          then
          for i in 1..l_msg_count loop
            pa_interface_utils_pub.get_messages(
            p_msg_count     => l_msg_count,
            p_encoded    => 'F',
            p_msg_data     => l_msg_data,
            p_data         => l_data,
            p_msg_index     => l_msg_count,    -- Added in 11i.PA.I
            p_msg_index_out => l_msg_index_out);
            dbms_output.put_line('error message: ' || l_data);
          end loop;
          rollback;
        end if;
    END;
    ERROR:=
    initilaization
    Assigning values
    debug message -->: Start..
    debug message -->: 1
    debug message -->: 2
    debug message -->: 3
    debug message -->: 4
    debug message -->: 5
    debug message -->: 6
    debug message -->: 7
    debug message -->: 8
    debug message -->: 9
    debug message -->: 10
    debug message -->: 11
    debug message -->: 12
    debug message -->: 13
    debug message -->: 14
    debug message -->: 15
    debug message -->: 16
    debug message -->: 17
    debug message -->: 18
    debug message -->: 19
    debug message -->: 20
    debug message -->: 21
    debug message -->: 22
    debug message -->: 23
    debug message -->: 25
    debug message -->: 26
    debug message -->: 26-I
    debug message -->: 26-II
    debug message -->: 26-I
    debug message -->: 26-II
    debug message -->: 26-I
    debug message -->: 26-II
    debug message -->: 26-I
    debug message -->: 26-II
    debug message -->: 26-Vi
    debug message -->: 26-I
    debug message -->: 26-II
    debug message -->: 26-VII
    debug message -->: 27
    debug message -->: 28
    debug message -->: 30
    error message: Project: 'TEST_VS_14052014'
    The class category is invalid.

    Please see if (PA_PROJECT_PUB.create_project Errors - The Class Category Is Invalid (Doc ID 1323904.1)) helps.
    Thanks,
    Hussein

  • While creating Projects Using the API, get two errors: 'Customer name must be passed' and 'class category is invalid'

    Hi
    While trying to Create Projects using the API, I'm getting two types of errors -
    The first is : 'API failed in one stage 1 Customer Name is a mandatory Quick Entry field. Value must be passed'
    The second is : '
    'API failed in one stage 1 Project: '<Project_Number>'
    The class category is invalid.'
    Both the messages are produced by our custom program. .. however I am not able to understand why the underlying errors occur.
    The first error ( Customer Name is a mandatory quick entry field), is caused by Projects that are to be created from Project templates where it is configured with Quick Entry Customer Name required. We are passing Customer Site number ( Party Bill to site number and Party Ship to side number). The site numbers being passed are also set as 'Primary'. Yet they are failing.
    For the second Error ( The Class Category is invalid), I rechecked multiple times, the Class categories for the Projects I am trying to create, with the Config in R12 and they are fine. Can't understand the reason for these two issues. Has anyone encountered such an issue ? If so how was it resolved?
    Regards
    Vivek

    HI All
    I resolved both the issues. In case there are others facing similar issues, following was the cause and resolution of my errors
    1. Error 1: Customer Name is a Mandatory Quick Entry field. Value must be passed.
    The cause was that the data loaded into our custom staging table was not in the right fields. This was because the data file values and the CTL were not in sync.
    Resolution:
    Corrected the data file to be in Sync with the structure defined in the CTL and  this loaded it successfully
    2. Error 2: The class category is invalid.
    The cause of this error was that  in the  Projects Template (used to create the project from), the Quick Entry setup had a Class Category set as required and I was not passing a value ( a class code value) for that Class Category.
    Hope this helps somebody else
    Cheers
    Turnbill

  • Can we debug the package pa_project_pvt.add_class_categories which is called in Pa_project_pub.create_project?

    We are trying to create a project using the api code pa_project_pub.create_project. But we are unable to create due to some unexpected error status flag when pa_project_pvt.add_class_categories is executed. We  tried by going through the code but it was in vain.
    So couple of questions from our side.
    1) Can we debug the package procedure pa_project_pvt.add_class_categories by any chance?
    2) If yes, then what is the debugging process?
    Any help in this regard would be helpful.
    Thanks in advance.

    Hi,
    you may try to enable debugging via Sysadmin responsibility by setting following profile options, either for a certain user (preferred) or a certain responsibility:
    - "FND: Debug Log Enabled" set it to yes
    - "FND: Debug Log Level" set it to 1 (but only temporarily, as it generates lots of loggings)
    - "FND: Debug Log Module" set it to "pa" or "PA"
    You'll have to log off and login to apps again for the profile options to come into effect.
    Before you start your process, have a look at fnd_log_messages table (write down last value LOG_SEQUENCE,
    so you can identify the loggings for your process easier) by filtering column log_sequence, module and user_id
    (which is the user_id coming from fnd_user table).
    Make sure that you set apps context (fnd_global.apps_initialize) correctly before the logic of your api call starts.
    Regards.

  • Error while creating Project using API - PA_PROJECT_PUB.CREATE_PROJECT

    I am working on Projects conversion and currently trying to create a project using the API.
    I have recetified all the errors it was giving and struck at 1 error. please find the error message below.
    "You have submitted invalid parameters to this process, preventing its successful completion. Please contact your system administrator."
    It gives me this error and I was not able to know the cause for this error. Please let me know how to bypass this error and go ahead with projects conversion???
    Attached below is my package:
    Thanks,
    Kesava
    =====================================================================================================================
    CREATE OR REPLACE PACKAGE xxbwp.xxbwp_pa_proj_conv_pkg AUTHID CURRENT_USER
    IS
         PROCEDURE xxbwp_pa_proj_conv_proc(errbuf           OUT      VARCHAR2
                             ,retcode           OUT      VARCHAR2);
    END xxbwp_pa_proj_conv_pkg;
    CREATE OR REPLACE PACKAGE BODY xxbwp.xxbwp_pa_proj_conv_pkg
    IS
         PROCEDURE xxbwp_pa_proj_conv_proc(errbuf           OUT      VARCHAR2
                             ,retcode           OUT      VARCHAR2)
         IS
    v_data VARCHAR2(2000);
    v_index_out NUMBER;
         v_msg_count               NUMBER;
         v_msg_data               VARCHAR2(2000);
         v_return_status               VARCHAR2(1);
         v_api_version_number          NUMBER          :=     1.0;
         v_commit               VARCHAR2(1)     :=     apps.fnd_api.g_false;
         v_init_msg_list               VARCHAR2(1)     :=      apps.fnd_api.g_false;
         v_workflow_started          VARCHAR2(1)      :=      'Y';
         v_pm_product_code          VARCHAR2(30)      :=      NULL;
         v_op_validate_flag          VARCHAR2(1)      :=      'Y';
         v_project_in               apps.pa_project_pub.project_in_rec_type;
         v_project_out               apps.pa_project_pub.project_out_rec_type;
         v_customers_in               apps.pa_project_pub.customer_tbl_type;
         v_key_members               apps.pa_project_pub.project_role_tbl_type;
         v_class_categories          apps.pa_project_pub.class_category_tbl_type;
         v_tasks_in               apps.pa_project_pub.task_in_tbl_type;
         v_tasks_in_rec apps.pa_project_pub.task_in_rec_type;
    v_tasks_out               apps.pa_project_pub.task_out_tbl_type;
         v_org_roles               apps.pa_project_pub.project_role_tbl_type;
         v_structure_in               apps.pa_project_pub.structure_in_rec_type;
         v_ext_attr_tbl_in          apps.pa_project_pub.pa_ext_attr_table_type;
         v_deliverables_in          apps.pa_project_pub.deliverable_in_tbl_type;
         v_deliverable_actions_in     apps.pa_project_pub.action_in_tbl_type;
    -- Variables declaration related to project_in_rec_type
    l_pm_project_reference VARCHAR2(25);
    l_pa_project_id NUMBER;
    l_pa_project_number VARCHAR2(25);
    l_segment1 VARCHAR2(25);
    l_project_name VARCHAR2(30);
    l_description VARCHAR2(250);
    l_long_name VARCHAR2(240);
    l_department_mapping VARCHAR2(50);
    l_department_mapping_c VARCHAR2(50);
    l_department_mapping_e VARCHAR2(50);
    l_created_from_project_id NUMBER;
    l_carrying_out_organization_id NUMBER;
    l_proj_start_date DATE;
    l_completion_date DATE;
    l_temp_project_type VARCHAR2(30);
    l_company_id VARCHAR2(10);
    l_company_id_c VARCHAR2(10);
    l_company_id_e VARCHAR2(10);
    l_proj_type VARCHAR2(30);
    l_cnt NUMBER := 0;
    l_task_cnt NUMBER := 0;
    l_responsibility_id NUMBER;
    l_application_id NUMBER;
    l_user_id NUMBER;
    l_global_info_msg_count NUMBER;
    l_global_info_msg_data VARCHAR2(2000);
    l_global_info_return_status VARCHAR2(1);
    CURSOR C1 IS
    SELECT *
    FROM xxbwp.xxbwp_pa_proj_conv_tbl
    WHERE proj_type = 'STORAGE';
    begin
    FOR C1_REC in C1
    LOOP
    SELECT APPS.pa_projects_s.nextval
    INTO l_pa_project_id
    FROM DUAL;
    BEGIN
    SELECT description
                   INTO     l_proj_type
                   FROM apps.fnd_lookup_values
                   WHERE lookup_type = 'BWP_PROJECT_TYPES_LKP'
                   AND     lookup_code = C1_REC.proj_type
                   AND     1 = 1;
    END;
    BEGIN
    SELECT project_id, project_type, carrying_out_organization_id
    INTO l_created_from_project_id, l_temp_project_type, l_carrying_out_organization_id
    FROM apps.pa_projects_all
    WHERE project_type = l_proj_type
    AND template_flag = 'Y';
    END;
    BEGIN
    SELECT rt.responsibility_id, rt.application_id
    INTO l_responsibility_id, l_application_id
    FROM apps.fnd_responsibility_tl rt
    WHERE rt.responsibility_name = 'BWP PA Projects Superuser';
    EXCEPTION WHEN OTHERS THEN
    RETURN;
    END;
    BEGIN
    SELECT u.user_id
    INTO l_user_id
    FROM APPS.fnd_user u
    WHERE u.user_name = 'CHUNDURK';
    EXCEPTION WHEN OTHERS THEN
    RETURN;
    END;
    -- Set the environment
    APPS.pa_interface_utils_pub.set_global_info
    (p_api_version_number => 1.0
    ,p_responsibility_id => l_responsibility_id
    ,p_user_id => l_user_id
    ,p_resp_appl_id => l_application_id
    ,p_msg_count => l_global_info_msg_count
    ,p_msg_data => l_global_info_msg_data
    ,p_return_status => l_global_info_return_status);
    --Assign values to project_in_rec_type
    v_project_in.pm_project_reference := C1_REC.PROJ_NUM;
    v_project_in.pa_project_id := l_pa_project_id;
    v_project_in.pa_project_number := C1_REC.PROJ_NUM;
    v_project_in.project_name := C1_REC.PROJ_NAME;
    v_project_in.description := NULL;
    v_project_in.long_name := C1_REC.PROJ_LONG_NAME;
    v_project_in.created_from_project_id := l_created_from_project_id;
    v_project_in.carrying_out_organization_id := l_carrying_out_organization_id;
    v_project_in.start_date := C1_REC.trans_start_date;
    v_project_in.completion_date := C1_REC.trans_end_date;
    v_project_in.scheduled_start_date := C1_REC.trans_start_date;
    v_project_in.scheduled_finish_date := C1_REC.trans_end_date;
    v_project_in.project_status_code := 'APPROVED';
    FOR x IN (SELECT person_id, project_role_type, start_date_active, end_date_active
    FROM apps.pa_project_players
    WHERE project_id = 262)
    LOOP
    APPS.fnd_file.put_line(APPS.FND_FILE.LOG,'PERSON ID '||x.person_id);
    APPS.fnd_file.put_line(APPS.FND_FILE.LOG,'PROJECT ROLE TYPE '||x.project_role_type);
    l_cnt := l_cnt + 1;
    v_key_members(l_cnt).person_id := x.person_id;
    v_key_members(l_cnt).project_role_type := x.project_role_type;
    v_key_members(l_cnt).start_date := x.start_date_active;
    v_key_members(l_cnt).end_date := x.end_date_active;
    END LOOP;
    -- Retrieving and assigning tasks from template to a project
    FOR x IN (SELECT task_id, parent_task_id, task_name, long_task_name, task_number, description,
    billable_flag, cint_eligible_flag, chargeable_flag
    FROM apps.pa_tasks t
    WHERE t.project_id = l_created_from_project_id
    START WITH parent_task_id IS NULL CONNECT BY PRIOR task_id = parent_task_id)
    LOOP
    l_task_cnt := l_task_cnt + 1;
    v_tasks_in_rec.pm_task_reference := x.task_id;
    v_tasks_in_rec.task_name := x.task_name;
    v_tasks_in_rec.long_task_name := x.long_task_name;
    v_tasks_in_rec.pa_task_number := x.task_number;
    v_tasks_in_rec.task_description := x.description;
    v_tasks_in_rec.task_start_date := C1_REC.trans_start_date;
    v_tasks_in_rec.task_completion_date := C1_REC.trans_end_date;
    v_tasks_in_rec.scheduled_start_date := C1_REC.trans_start_date;
    v_tasks_in_rec.scheduled_finish_date := C1_REC.trans_end_date;
    v_tasks_in_rec.pm_parent_task_reference := x.parent_task_id;
    v_tasks_in_rec.billable_flag := x.billable_flag;
    v_tasks_in_rec.cint_eligible_flag := x.cint_eligible_flag;
    v_tasks_in_rec.chargeable_flag := x.chargeable_flag;
    v_tasks_in_rec.tasks_dff := 'Y';
    v_tasks_in_rec.attribute1 := l_pa_project_id;
    v_tasks_in(l_task_cnt) := v_tasks_in_rec;
    END LOOP;
    v_class_categories(0).class_category := 'Reimbursable';
    v_class_categories(0).class_code := 'No';
    APPS.FND_MSG_PUB.initialize;
    apps.pa_project_pub.create_project
    (p_api_version_number => v_api_version_number
    ,p_commit => v_commit
    ,p_init_msg_list => v_init_msg_list
    ,p_msg_count => v_msg_count
    ,p_msg_data => v_msg_data
    ,p_return_status => v_return_status
    ,p_workflow_started => v_workflow_started
    ,p_pm_product_code => v_pm_product_code
    ,p_op_validate_flag => v_op_validate_flag
    ,p_project_in => v_project_in
    ,p_project_out => v_project_out
    ,p_customers_in => v_customers_in
    ,p_key_members => v_key_members
    ,p_class_categories => v_class_categories
    ,p_tasks_in => v_tasks_in
    ,p_tasks_out => v_tasks_out
    ,p_org_roles => v_org_roles
    ,p_structure_in => v_structure_in
    ,p_ext_attr_tbl_in => v_ext_attr_tbl_in
    ,p_deliverables_in => v_deliverables_in
    ,p_deliverable_actions_in => v_deliverable_actions_in
    APPS.fnd_file.put_line(APPS.FND_FILE.LOG,v_return_status||' '||v_msg_count);
    IF v_msg_count > 0 THEN
    FOR i in 1 .. v_msg_count
    LOOP
    apps.pa_interface_utils_pub.get_messages
    (p_encoded => 'F'
    ,p_msg_count => v_msg_count
    ,p_msg_index => i
    ,p_msg_data => v_msg_data
    ,p_data => v_data
    ,p_msg_index_out => v_index_out);
    APPS.fnd_file.put_line(APPS.FND_FILE.LOG,v_data);
    END LOOP;
    END IF;
    END LOOP;
    end xxbwp_pa_proj_conv_proc;
    end xxbwp_pa_proj_conv_pkg;
    show errors;
    Edited by: user644005 on Sep 11, 2009 11:02 AM

    Hi Kesava,
    I notice that in the package you used the application user_name=CHUNDUK calls the API pa_project_pub.create_project.
    I wonder if you used chunduk as database user to execute the package Or you used APPS to execute the package?
    The APi document states that it is a requirement to create a db username as the same name with the application username.
    I have been running the problem to execute API 's delete project and try to figure what could be my problem.
    TIA

  • How to assign the class value dynamically  in jsp:useBean ?its urgent

    Hi
    I want to set the class value of <jsp:useBean> dynamically
    when i am trying to this way
    <jsp:useBean id="<%=id %>" class="<%=beanclass %>" scope="request">
    <jsp:setProperty name="<%=id %>" property="*"/>
    </jsp:useBean>
    where beanclass is .class file that is to be used by the usebean tag
    i am getting following error
    The value for the useBean class attribute <%=beanclass %> is invalid.
    please help as soon as possible
    regards,
    Rameshwari

    You can not do that.The jsp:useBean and jsp:setProperty are action tags and not custom tags. Action tags get translated into Java code in the translation unit and are then compiled. Custom tag are backed by classes and the tag get translated into a method call of the class.

  • The file name is invalid.

    when I start iCal I get the message "The file name is invalid" I had the calanders syncing through dropbox so that my G5 and macbook air would be the same. and the iPhone just synced with the laptop... I wanted to sync with iCloud so I deleted the drop box folder they were loking for. The G5 finally restarted with a blank calander, no big deal. The Air just keeps thowing up the same message. I check the iCloud box for it but it will not stay checked. I have restarted a few times. I need to have the clander sart so I can add the iCloud account I think but i cannot get at the preferences.

    Hi PG,
    My Node has the following attributes:
    Node
    |_ FILENAME type string  --> Binded to Filename Property
    |_ CONTENT  type rcf_attachment_content --> Data Property of the Upload UI Element.
    Please check the below code, as the same is working for me with this logic.
    IF lvfname IS NOT INITIAL.
    *determine file name without path
        CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
          EXPORTING
            full_name     = lvfname
          IMPORTING
            stripped_name = lv_stripped_name
            file_path     = lv_file_path
          EXCEPTIONS
            x_error       = 1
            OTHERS        = 2.
        IF sy-subrc = 0.
          IF NOT lv_stripped_name IS INITIAL.
            lvfname = lv_stripped_name.
          ENDIF.
        ELSE.
    * Throw error
          lo_api_controller ?= wd_this->wd_get_api( ).
          CALL METHOD lo_api_controller->get_message_manager
            RECEIVING
              message_manager = lo_message_manager.
    *     report message
          lo_msg = 'Please select proper file'.
          CALL METHOD lo_message_manager->report_t100_message
            EXPORTING
              msgid = '38'
              msgno = '000'
              msgty = 'E'
              p1    = lo_msg.
          EXIT.
        ENDIF.
    At the same time, I've made use of the class cl_hrrcf_attachment_bl to maintain the attachments in my requirement.
    Regards,
    -Syed.

  • Initial category is invalid error while running Locaton Hueristic

    Folks
    While running Locaton Hueristic, system is throwing and error '"Initial category is invalid". I had created a copy of 9ASNP02 PA, PB and DV, added a new KF and assigned a new categry group to this KF under all the aggregates. It was running fine but lately I am seeing this error. ANy ideas on what could have gone wrong and how to resolve this ?
    Initial category is invalid
    Message no. /SAPAPO/OM_ERROR2820
    Diagnosis
    An application program called an LCA routine. This led to an error.
    Procedure
    Contact your system administration.
    Procedure for System Administration
    Contact SAP Service. Specify the application component in which this message occurred.
    You must also enter:
    The message number
    Return code 19020 (om_atp_initial_cat_not_valid)
    Error code ATP

    Run below consistency check :
    /SAPAPO/TS_LCM_CONS_CHECK and
    /SAPAPO/TS_PSTRU_CONS_CHECK
    /SAPAPO/TS_LCM_REORG
    /SAPAPO/TS_LCM_PLOB_DELTA_SYNC
    Also check oss note :Note 727698 - New return code from the liveCache
    Manish

  • The current xml is invalid upon using external charts in narrative view

    Hi,
    I always get following message when embedding amcharts or google charts using narrative view. Once saved, it is not possible to any more to edit the narrative view. However, the report works fine, the chart is shown, but not editable.
    cheers,
    Mark
         Error Displaying Results
    The current xml is invalid with the following errors: Bad xml instance! <?xml version="1.0"?> <saw:report xmlns:saw="com.siebel.analytics.web/report/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sawx="com.siebel.analytics.web/expression/v1.1" xmlVersion="200810080"><saw:criteria xsi:type="saw:simpleCriteria" subjectArea="&quot;QC4Agility&quot;" withinHierarchy="true"><saw:columns><saw:column xsi:type="saw:regularColumn" columnID="c5f655b89c322bce7"><saw:columnFormula><sawx:expr xsi:type="sawx:sqlExpression">&quot;Dim - RUN&quot;.&quot;RUN Status&quot;</sawx:expr></saw:columnFormula></saw:column><saw:column xsi:type="saw:regularColumn" columnID="c9de76acdb49ee65f"><saw:columnFormula><sawx:expr xsi:type="sawx:sqlExpression">&quot;Fact - req_test_run&quot;.&quot;# REQs&quot;</sawx:expr></saw:columnFormula></saw:column><saw:column xsi:type="saw:regularColumn" columnID="c9fe9f1713d290812"><saw:columnFormula><sawx:expr xsi:type="sawx:sqlExpression">&quot;Fact - req_test_run&quot;.&quot;# TESTs&quot;</sawx:expr></saw:columnFormula></saw:column></saw:columns><saw:filter><sawx:expr xsi:type="sawx:logical" op="and"><sawx:expr xsi:type="sawx:comparison" op="equal"><sawx:expr xsi:type="sawx:sqlExpression">&quot;Dim - REQ&quot;.&quot;REQ Target release&quot;</sawx:expr><sawx:expr xsi:type="xsd:string">1.0</sawx:expr></sawx:expr><sawx:expr xsi:type="sawx:comparison" op="lessOrEqual"><sawx:expr xsi:type="sawx:sqlExpression">&quot;Dim - REQ&quot;.&quot;REQ nCycle&quot;</sawx:expr><sawx:expr xsi:type="sawx:variable" op="server">CurrentCycle</sawx:expr></sawx:expr><sawx:expr xsi:type="sawx:comparison" op="notNull"><sawx:expr xsi:type="sawx:sqlExpression">&quot;Dim - RUN&quot;.&quot;RUN Status&quot;</sawx:expr></sawx:expr></sawx:expr></saw:filter></saw:criteria><saw:views currentView="0"><saw:view xsi:type="saw:compoundView" name="compoundView!1"><saw:cvTable><saw:cvRow><saw:cvCell viewName="titleView!1"><saw:displayFormat><saw:formatSpec/></saw:displayFormat></saw:cvCell></saw:cvRow><saw:cvRow><saw:cvCell viewName="tableView!1"><saw:displayFormat><saw:formatSpec/></saw:displayFormat></saw:cvCell></saw:cvRow><saw:cvRow><saw:cvCell viewName="dvtchart!1"/></saw:cvRow><saw:cvRow><saw:cvCell viewName="narrativeView!1"/></saw:cvRow></saw:cvTable></saw:view><saw:view xsi:type="saw:titleView" name="titleView!1"/><saw:view xsi:type="saw:tableView" name="tableView!1"><saw:edges><saw:edge axis="page" showColumnHeader="true"/><saw:edge axis="section"/><saw:edge axis="row" showColumnHeader="true"><saw:edgeLayers><saw:edgeLayer type="column" columnID="c5f655b89c322bce7"/><saw:edgeLayer type="column" columnID="c9de76acdb49ee65f"/><saw:edgeLayer type="column" columnID="c9fe9f1713d290812"/></saw:edgeLayers></saw:edge><saw:edge axis="column"/></saw:edges></saw:view><saw:view xsi:type="saw:dvtchart" name="dvtchart!1"><saw:display type="pie" subtype="default" renderFormat="flash" mode="online" xAxisLiveScrolling="false" yAxisLiveScrolling="false" clientEventEnabled="false" animateOnDisplay="true"><saw:style barStyle="default" lineStyle="default" scatterStyle="default" fillStyle="default" bubblePercentSize="100" effect="2d"/></saw:display><saw:canvasFormat height="330" width="640" showGradient="true"><saw:dataLabels display="always" label="nameValue" position="below" transparentBackground="true" valueAs="default" abbreviation="default"><saw:textFormat fontSize="14"/><saw:dataFormat xsi:type="saw:number" commas="false" negativeType="minus" minDigits="0" maxDigits="0"/></saw:dataLabels><saw:gridlines default="true"><saw:horizontal><saw:major visible="false"/><saw:minor visible="false"/></saw:horizontal><saw:vertical><saw:major visible="false"/><saw:minor visible="false"/></saw:vertical></saw:gridlines><saw:title mode="auto"><saw:caption/></saw:title></saw:canvasFormat><saw:selections><saw:categories><saw:category><saw:columnRef columnID="c5f655b89c322bce7"/></saw:category></saw:categories><saw:measures showMeasureLabelsOnCategory="false"><saw:column measureType="pie"><saw:columnRef columnID="c9de76acdb49ee65f"/></saw:column></saw:measures><saw:seriesGenerators><saw:seriesGenerator/><saw:measureLabels/></saw:seriesGenerators></saw:selections><saw:legendFormat position="none" transparentFill="true"><saw:textFormat/></saw:legendFormat><saw:seriesFormats><saw:seriesFormatGroup name="pie"><saw:seriesFormatRule><saw:seriesCondition columnID="c5f655b89c322bce7" position="0"><saw:condition><sawx:expr xsi:type="sawx:comparison" op="equal"><saw:columnRef columnID="c5f655b89c322bce7"/><sawx:expr xsi:type="xsd:string">Failed</sawx:expr></sawx:expr></saw:condition></saw:seriesCondition><saw:visualFormats><saw:visualFormat color="#FF0000"/></saw:visualFormats></saw:seriesFormatRule><saw:seriesFormatRule><saw:seriesCondition columnID="c5f655b89c322bce7" position="1"><saw:condition><sawx:expr xsi:type="sawx:comparison" op="equal"><saw:columnRef columnID="c5f655b89c322bce7"/><sawx:expr xsi:type="xsd:string">Passed</sawx:expr></sawx:expr></saw:condition></saw:seriesCondition><saw:visualFormats><saw:visualFormat color="#B0C060"/></saw:visualFormats></saw:seriesFormatRule></saw:seriesFormatGroup></saw:seriesFormats></saw:view><saw:view xsi:type="saw:narrativeView" name="narrativeView!1"><saw:prefix><saw:caption fmt="html"><saw:text/></saw:caption></saw:prefix></saw:view></saw:views><parsererror xmlns="http://www.w3.org/1999/xhtml" style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"><h3>This page contains the following errors:</h3><div style="font-family:monospace;font-size:12px">error on line 6 at column 430: Sequence &#39;]]&gt;&#39; not allowed in content </div><h3>Below is a rendering of the page up to the first error.</h3></parsererror></saw:report> Line:2, Col:5482, Unknown element 'parsererror' Line:2, Col:5482, Attribute 'style' is not declared for element 'parsererror' Line:3, Col:98, Element 'parsererror' is not valid for content model: '((criteria,views,prompts,listOptions),segmentOptions)'
    Error Details
    Error Codes: EIRWWH9E
    Location: saw.httpserver.processrequest, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool, saw.threadpool, saw.threads
    narrative view used for test:
    Prefix
    <script type="text/javascript" src="http://extra.amcharts.com/public/swfobject.js"></script>
    <div id="amcharts_1308229514469">You need to upgrade your Flash Player</div>
    <script type="text/javascript">
         var so = new SWFObject("http://extra.amcharts.com/public/ampie.swf", "ampie", "500", "400", "8", "#FFFFFF");
         so.addVariable("path", "ampie/");
         so.addVariable("chart_settings", encodeURIComponent("<settings><precision>0</precision><background><alpha>100</alpha><border_alpha>20</border_alpha></background><legend><align>center</align></legend><pie><y>50%</y><start_angle>0</start_angle><outline_color>FF0000</outline_color></pie><data_labels><show><![CDATA[<b>{title}, {percents}%</b> ({value})]]></show><max_width>150</max_width></data_labels><labels><label lid='0'><text>DIR</text><x>10</x><text_color>000000</text_color><text_size>28</text_size><align>center</align></label><label lid='1'><text>S&amp;E</text><y>220</y><text_color>FFFFFF</text_color><text_size>28</text_size><align>center</align></label></labels></settings>"));
         so.addVariable("chart_data", encodeURIComponent("<pie>
    *Narrative*
    <slice title='United States'>19544</slice>
    *Postfix*
    </pie>"));
         so.write("amcharts_1308229514469");
    </script>

    I think it's a problem with your CDATA section. Take that bit out and test again to prove whether it's the cause.
    Paul

  • How to get the class name of all available subclasses

    Hi there!
    Im developing an eComerce site as part of my studies this semester using JSP and mySQL. It's part of a bigger management system for a fictional company.
    In the user interface, when adding new products to be available for sale on the website, I want the administrator to be able to choose what kind of product is being added. In the database I have the superclass[i] products with subclasses[i] harddrives, monitors etc.. The question is, can I somehow get the names of the subclasses constrained to a certain superclass? Maybe this question is more related to SQL querys than to JSP, but any help is appreciated:-)

    First of all it is not conventional (or at least I find it very confusing) to call things as super class or sub class when referring to them in the database.
    Why? because super class and sub class are really concepts in Object Oriented Programming languages, and probably (not sure) in Object Oriented Databases.
    So I would call them main categories of products and sub categories of products.
    And in databases I assume you have tables?
    So say the table with main categories would have a primary key and a text field. The primary key is just like an index, and the text field holds the Main Category.
    Similarly you would have another table representing sub categories.
    But how would you associate a set of sub categories to each main category?
    For this you would need a Foreign Key in the sub categories table.
    The foreign key of a sub category maps to the primary key of the main category. Get it? If not you'll need to learn relational databases.
    So if you know SQL you could write a SELECT statement in MySQL as follows:
    SELECT product_category_name FROM product_sub_category psc, product_main_category psm WHERE psc.product_main_category = psm.product_main_category AND psm.product_main_category = 'Whatever Cagegory Name';
    Message was edited by:
    appy77

  • Class format error: Invalid constant pool tag found

    I am simply attempting to create an instance of an object and I get Class format error: Invalid constant pool tag found. Does anyone know what this means and how to fix it?
    Thanks.

    If you're compiling with J2SDK 1.4 or higher, you need to use "-target 1.1" on the javac command line.
    Also make sure you're not using any float constants such as 1.0 in your code.

  • Release Management 2013 Server Web Site throwing "Data at the root level is invalid..." error after applying RM 2013 Update 4

    I upgraded our RM Server from 2013 Update 2 to Update 4. During smoke testing, I discovered that the RM approval website would get stuck and display a loading wheel when showing the list of releases. After rebooting the server and uninstalling and reinstalling,
    I eventually got it to load the web site just fine, however the windows event log is displaying thousands of instances of the same error (about once a second).
    Timestamp: 4/2/2015 2:25:05 PM
    Message: Data at the root level is invalid. Line 2, position 1.: \r\n\r\n   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
       at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
       at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
       at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
       at System.Xml.XmlTextReaderImpl.Read()
       at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
       at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
       at Microsoft.TeamFoundation.Release.Common.ExtensionMethods.XmlExtensionMethods.ToXDocument(String value, Boolean preserveWhitespace)
       at Microsoft.TeamFoundation.Release.Common.Helpers.WebServiceHelper.ExtractWebMethod(String pathInfo, Stream inputStream)
    Category: General
    Priority: -1
    EventId: 0
    Severity: Error
    Title:
    Machine: [Server Name]
    Application Domain: /LM/W3SVC/2/ROOT-1-130724725961138960
    Process Id: 3448
    Process Name: C:\Windows\SysWOW64\inetsrv\w3wp.exe
    Win32 Thread Id: 1136
    Thread Name:
    Extended Properties:
    This is quite concerning because it leads me to think something else is wrong.  I read somewhere else that .Net Framework 4.5.1 is required for RM, but the system requirements on MSDN don't mention that.  Any help greatly appreciated.
    Specs:
    RM Server: Windows 2012 R2
    Release Management 2013 Update 4
    Connect to TFS Server 2013 Update 2
    We are not using HTTPS:

    Hi Joe519,
    Thanks for your post.
    And thank you for sharing  the experience here. 
    All your participation and support are very important to build such harmonious/ pleasant / learning environment for MSDN community.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • ATL COM server error (0x800706C6 The array bounds are invalid) in Windows 2012 server

    Hi,
    We have a ATL  COM server application which was developed using Visual Studio 6.0. This was ported to Visual Studio 2003 later.
    The application was running without any problems on Windows 2008 server. When we installed it on Windows 2012 server the services would not start at all. On contacting MS support we can to know that the code needs to be built using Visual Studio 2013. The
    same was done wherein we ported the application to be built using Visual Studio 2013.
    The application is still failing. On debugging I could trace it to CoResumeClassObjects() call. This call returns error "0x800706C6 The
    array bounds are invalid.". The same works perfectly fine on windows 2008. 
    Does anyone know what has changed between 2008 server and 2012 R2 server with respect to COM implementation.

    Hi Amit,
    Please try call CoResumeClassObjects to register classes in ServiceMain function.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Where to put the class?

    Ok EasyIn class can help me convert a string into an int, I will need it for this problem.
    The code for EasyIn is as follows, and i need to put it into my AirplaneListTester class, but where do I put it?
    EasyIn class
    // EasyIn.java
    import java.io.*;
    public abstract class EasyIn
    static String s = new String();
    static byte[] b = new byte[512];
    static int bytesRead = 0;
    public static String getString()
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    s=s.trim();
    ok = true;
    catch(IOException e)
    System.out.println(e.getMessage());
         return s;
    public static int getInt()
    int i = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    i = Integer.parseInt(s.trim());
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make sure you enter an integer");
    catch(IOException e)
    System.out.println(e.getMessage());
    return i;
    public static byte getByte()
    byte i = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    i = Byte.parseByte(s.trim());
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make sure you enter a byte");
    catch(IOException e)
    System.out.println(e.getMessage());
    return i;
    public static short getShort()
    short i = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    i = Short.parseShort(s.trim());
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make sure you enter a short integer");
    catch(IOException e)
    System.out.println(e.getMessage());
    return i;
    public static long getLong()
    long l = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    l = Long.parseLong(s.trim());
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make surre you enter a long integer");
    catch(IOException e)
    System.out.println(e.getMessage());
    return l;
    public static double getDouble()
    double d = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    d = (Double.valueOf(s.trim())).doubleValue();
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make sure you enter a decimal number");
    catch(IOException e)
    System.out.println(e.getMessage());
    return d;
    public static float getFloat()
    float f = 0;
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    f = (Float.valueOf(s.trim())).floatValue();
    ok = true;
    catch(NumberFormatException e)
    System.out.println("Make sure you enter a decimal number");
    catch(IOException e)
    System.out.println(e.getMessage());
         return f;
    public static char getChar()
    char c = ' ';
    boolean ok = false;
    while(!ok)
    try
    bytesRead = System.in.read(b);
    s = new String(b,0,bytesRead-1);
    if(s.trim().length()!=1)
    System.out.println("Make sure you enter a single character");
    else
    c = s.trim().charAt(0);
    ok = true;
    catch(IOException e)
    System.out.println(e.getMessage());
    return c;
    public static void pause()
    boolean ok = false;
    while(!ok)
    try
    System.in.read(b);
    ok = true;
    catch(IOException e)
    System.out.println(e.getMessage());
    public static void pause(String messageIn)
    boolean ok = false;
    while(!ok)
    try
    System.out.print(messageIn);
    System.in.read(b);
    ok = true;
    catch(IOException e)
    System.out.println(e.getMessage());
    AirplaneListTester class sorry for the indentations the message box has messed it up
    import javax.swing.JOptionPane; //indicates that the compiler should load class JOptionPane for use in this application.
    public class AirplaneListTester
         public static class AirplaneList
              //Attributes for the AirplaneList
              private String flight = "No plane" ; //Airplane's name
              private int total = 0;     //initial total
              private boolean Empty = true; //initially the list is empty
              private boolean     Full = false; //The list initially has no entries therefore it is not full
              // Constructor method
              public AirplaneList()
                   total = 0;
              public void add(String Airplane) // allows the user to add an airplane to the list, it returns a boolean value
                   flight = Airplane; // The airplane object will be "flight"
              }     //add()
              public void remove(int inti) // allows the user to remove an airplane from the list, it returns a boolean value
                   total = inti;
              }     //remove()
              public boolean isEmpty() // allows a user to check if the list is empty
                   Empty = true;
                   Full = false;
                   return Empty;
              public boolean isFull() // allows a user to check if the list is full
                   Empty = false;
                   Full = true;
                   return Full;
              public void item(int inti) // returns the airplane's flight number on the list
                   total = inti;
                   System.out.println(flight+ "is number ");
                   System.out.println(total+ "");
              public void Total() // returns the total number of airplanes on the list
                   JOptionPane.showMessageDialog(null,total+ " Airplanes are on the list" );
                   if (isFull())
                   JOptionPane.showMessageDialog(null,"The list has also reached its maximum number of planes" );
              public void getInt()
              //Start main()
                   public static void main (String[] args)
              throws java.io.IOException
                   char choice; //Words choice and size are the names of variables
                   int size; //This declaration specifies that the variable are of data type char and int
                   //size = EasyIn.getInt(); // Converts a string and makes it an Int
                   Char - a variable that may only hold a single lowercase letter, a single uppercase letter, a single digit or a           
                   special character (such as x, $, 7 and *)
                   AirplaneList plane = new AirplaneList(); // Declare AirplaneList variables
                   //The code below creates a dialog box for the user to input a choice
                   String inputcode;
                   inputcode = JOptionPane.showInputDialog("A: add an airplane from the list\n" +
                                  "B: remove an airplane from the list\n" +
                                  "C: check if the list is empty\n" +
                                  "D: check if the list is full\n" +
                                  "E: display the list\n" +
                                  "F: quit\n" );
                   The null first argument indicates that the message dialog will appear in the center of the screen. The 2nd is the      
                   message to display
                   do
                             // get choice from user
                             choice = inputcode.toUpperCase().charAt(0);
                             //process menu options
                             switch(choice)
                        case 'A':               
                             addingplanes(plane); // Adds a plane to the list
                             break;     //done processing case
                        case 'B':
                             removingplanes(plane); // Removes the plane
                             break;     //done processing case
                        case 'C':
                             islistempty(plane); // Checks if plane is empty
                             break;     //done processing case
                        case 'D':
                             islistfull(plane); // Checks if plane is full
                             break;     //done processing case
                        case 'E':
                             displaylist(plane);      // Displays the list of planes
                             break;     //done processing case
                        case 'F':
                             JOptionPane.showMessageDialog(null, "You have chosen to quit the program");
                             break;     //done processing case          // Quits the program
                        default:
                             JOptionPane.showMessageDialog(null, "Invalid entry!, Please choose another option");
                             if (choice!= 'A'||
                   choice!= 'B'||      
                             choice!= 'C'||
                        choice!= 'D'||
                        choice!= 'E'||
                        choice!= 'F');
                             inputcode = JOptionPane.showInputDialog("A: add an airplane from the list\n" +
                                  "B: remove an airplane from the list\n" +
                                  "C: check if the list is empty\n" +
                                  "D: check if the list is full\n" +
                                  "E: display the list\n" +
                                  "F: quit\n" );
                                  break;     //done processing case
                   }while (choice!= 'F' ); //end AirplaneList tester
              System.exit(0); //end main()
                   //add Airplane
                   public static void addingplanes(AirplaneList plane)
                        String flight;
                   flight = JOptionPane.showInputDialog("Please enter airplane filght number" );
                        create an Airplane object to add to list          Airplane flight = new Airplane();
                        add string to list if the list is not full
                        access the 'add(Airplane)' method from the AirplaneList class;
                   if the list is full, return a statement to the user indicating that no more plane can be added onto the list
                   //remove airplane
                   public static void removingplanes(AirplaneList plane)
                   //get position of item
                   /*     string enterpos;
                        enterpos = JOptionPane.showInputDialog("Please enter position to remove" );
                        System.out.print(":")
                        int plane = Easyln.getint();
                        // delete item if it exists
                        //access the 'remove(Airplane)' method from the AirplaneList class;
                        //if the user enter an invalid number for the position, returen a statement
                   */     //indicating that there is no such posititon.
                   //check if empty
                   public static void islistempty(AirplaneList plane)
                        String inputcode;
                        if (plane.isEmpty())
                        JOptionPane.showMessageDialog(null, "The list is empty");
                        else
                        JOptionPane.showMessageDialog(null, "list is not empty" );
                   //check if full
                   public static void islistfull(AirplaneList plane)
                        String inputcode;
                        if (plane.isFull())
                        JOptionPane.showMessageDialog(null, "list is full" );
                        else
                        JOptionPane.showMessageDialog(null, "list is not full" );
                   //display list
                   public static void displaylist(AirplaneList plane)
                        if (plane.isEmpty())     //no need to display if list is empty
                        JOptionPane.showMessageDialog(null, "list is empty, there is no list to display!" );
                        else
                        plane.Total();
                        //loop through list
    }//Ends the AirplaneListTester class

    First of all we have some code formatting options in this board.
    If you wrap your code in [[b]code] it will be a whole lot easier to read for all of us.
    Next put your class into a library path since you're going to use it in more than one project I guess.
    Then simply import your class in the project you're currently working on and you can use it's methods.

  • TES 5.3.1 sacmd modrule -J " class name " returns invalid job class argument

    The docs indicate modrule should work as follows but it returns invalid job class argument.  The class "My Class" is defined and job alias is correct.   Here is the cmd syntax I used.:
    sacmd modrule -a myjobalias -J "My Class"
    I would like help to understand why class args is invalid.  Appreciate the help.
    I wish I could get more verbose output to see what its doing which leads to my second question, anyone know how to get verbose output?

    I have some pretty extensive experience with CMD line...you need quotes when you have values with spaces. This is true of MODRULE and other CMD line Commands
    SA>modrule -i 56034 -J JC with Space
    Error: invalid job class argument
    SA>modrule -i 56034 -J 'JC with Space'
    Error: invalid job class argument
    SA>modrule -i 56034 -J "JC with Space"
    Request sent to Master.
    you do not need quotes when  value does not have quotes (on most commands)
    modrule example using alias and jobid
    SA>modrule -a 56034A -J Tidal
    Request sent to Master.
    SA>modrule -i 56034 -J Tidal
    Request sent to Master.

Maybe you are looking for

  • XML-22009: (Error) Attribute 'select' not found in 'xsl:value-of'

    Hello, I'm a long-time Siebel developer but novice to BIP, trying to enhance some complex rtf templates that an experienced xdo/bip developer (contractor) designed for us in the past, with a couple of new fields that have been added to the integratio

  • Urgent Issue !!! Related to CJ20N

    Hi Guys, This is an Urgent Issue!!!! I have a requirement to upload the data .Initially they have created project definition and wbselement with the help of some data transfer technique later on they have added custom fields to this transaction. Now

  • External iSight cam not working with iChat

    I've got an external iSight cam that was working fine in 10.5.8 with iChat - I'm using 10.6.1 now. Now when I open iChat, the camera stays off (no green light) and iChat video preview says that another application is using the camera so it's not avai

  • Compiling jsp with tomcat 4

    HTTP 500 server error as follows: org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated. An error occurred at line: 2 in the jsp file: /listStore.jsp *line#2 is the usebean statement in the j

  • Case statement help

    Hi Gurus, I have a requirement like this, I want to extract the service request which closed in last month and opened in the last three months of closing month (close month -3). When open month is previous month and timestampdiff(tsi_month, open mont