API pa_project_pub.UPDATE_TASK is not updating attributes

Hi All,
I am facing a strange problem in calling API pa_project_pub.UPDATE_TASK. It updates fields like task name, description etc, but it doesn;t updates attribute8, or any attribute fields. The DFF which is on this table pa_tasks, is context basis, and we are updating it for 'Shipping' context, and I am giving this value means 'Shipping' in attribute_category fields, becasue in table pa_tasks, it stores this value in attribute_category only.
Below is the code, i m using... Please let me know if I am missing any parameter, becasue this API is giving SUCCESS, so I dont know why the values are not getting updated.
pa_project_pub.UPDATE_TASK(p_api_version_number => 1.0,
p_commit => FND_API.G_TRUE,
p_init_msg_list => FND_API.G_TRUE,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_pm_product_code => 'SERVICE REQUEST',
p_pa_project_id => '18090',
p_pm_task_reference => '90000',
p_pa_task_id => p_task_id,
p_service_type_code => 'NORDIC_EMLP_PROJECT',
p_attribute_category => 'Shipping',
p_attribute8 => 'test1',
p_out_pa_task_id => p_out_pa_task_id,
p_out_pm_task_reference => p_out_pm_task_reference,
p_update_task_structure => 'Y');
Thanks and Regards,
Nidhi

Are you using a vision instance? Which release are you in?
If the issue is yet to be resolved after checking and compiing the invalid objects, as suggested by Hussein, then you can do the following:
- Check the responsibility ID of "Projects, Vision Operations (USA)", the one you are using. In vision instances the responsibility ID 20420 (as provided in apps_initialize) is little odd. In 11.5.10.x and R12 vision instances the responsibility ID is normally 56486. Though it can be different in your instance.
- If the responsiblity ID is correct OR you are using a different responsibility then check whether responsibility Menu is having "Open Integration Toolkit Funtions Menu" submenu (without any prompt) assigned and active (grants checkbox). Please also check within this submenu whether "Activity Management Gateway:Add Task" function is assigned and active (grants checkbox)
- For seeded Project responsibilities the submenu & underlying function is seeded, but if you using a non project responsibility for creating project/ task etc then that responsibility should have "Open Integration Toolkit Funtions Menu" submenu (without any prompt) assigned and active.
Thanks
Supro

Similar Messages

  • Master Data Info Object is not updating Attribute data

    Dear Sdns,
    We are loading master data to ZCOMP_GL Info object through flat file  extraction... ZOMP_GL have four attributes.. Leaving three of the attributes Only one of the attribute which is CS_ITEM holds the data.
    We loaded data ffrom flat-file.. It laoded sucessfully upto the PSA and data is available... And when we runned DTP the load was successfull.. In the manage screen of the Info object it shows the records are added successfully.. But when we see the data in ZOMP_GL. We are not able to see the Data  for CS_ITEM which is attribute.... Also we runned Attribute change run..
    Kindly Advice me..
    Warm Regards,
    Aluri

    Activate the data in the info object.
    Ravi Thothadri

  • Error in calling pa_project_pub.UPDATE_TASK to update attribute8 of pa_task

    Hi All,
    I am calling procedure pa_project_pub.UPDATE_TASK to update attribute8 od pa_tasks, it runs fine if one setup WORKPLAN is disabled, but when it is enabled, this API gives me following error
    The flex field values you have entered are invalid.
    User-Defined Exception in Package PA_PROJ_TASK_STRUC_PUB Procedure update_task_structure
    Do any body have any ideas, how to tackle this setup in API. I want to run this API successfully irrespective of this setup.
    I found one parameter p_structure_type in this API pa_project_pub.UPDATE_TASK, i tried to pass 'WORKPLAN' for this. but then it gives me error
    Wrong structure type provided. Either the Workplan structure does not exist for this project.
    Any idea would help..
    Thanks

    Hi All,
    Thank you All.
    Actualy I was watching the thread and got no Reply.this enable me to search more for the cause and eventually for the solution.
    The Error "The flex field values you have entered are invalid" was because of DFF values only. I found this solution from API code only. It takes me to PA_PROJECTS_PVT where I Found the Error Code and then to flex field validation and then to Task utility Package.
    Actually when you are not passing any value for Attributes, It will take the Old values only. and If the old values fails to Validate, this issue may arise. Same was the cause in this case. For An attribute the Value Set was "Standard Date" and it was accepting "DD-MON-RRRR" from Front End, but keeping "DD-MON-RRRR HH:MI:SS" as a value in the Attribute. For Eg. 12-DEC-2012 will be stored as 12-DEC-2012 00:00:00. It was there for almost all the Tasks.
    And when it was passed internally to API, It was causing the Error that Value enterted are Invalid.
    I came to know only after running the Desc Flex Field Validate API, which PA_PROJECTS_PVT was using.
    Got the Solution and feel like sharing with you all.
    Thanks,
    Amit

  • API for Updating Attribute in CZ

    Hi All,
    Could you please suggest me any Standard API to update the Attribute Value in cz_config_ext_attributes.
    Thank you,
    Aush

    Could you please suggest me any Standard API to update the Attribute Value in cz_config_ext_attributes.I do not see any reference on MOS that shows what API can be used to update this table.
    Have you reviewed the documentation? -- http://www.oracle.com/technetwork/documentation/applications-167706.html
    You may also review iREP and eTRM websites.
    http://irep.oracle.com/index.html
    http://etrm.oracle.com/
    Thanks,
    Hussein

  • Cannot update delivery attributes: the following field(s) are not updatable

    Hi. I create in EBS simple Order
    Now , my goal is to create a delivery , pick , change shipping quantity and ship confirm. Here is my code
    DECLARE
    p_sales_order NUMBER := 10014445;
    p_line_number NUMBER := 1.1;
    p_org_id NUMBER := 308;
    l_shipped_quantity NUMBER := 5;
    p_api_version_number NUMBER := 1.0;
    init_msg_list VARCHAR2(200);
    l_commit VARCHAR2(30);
    x_msg_details VARCHAR2(3000);
    x_msg_summary VARCHAR2(3000);
    x_return_status VARCHAR2(3);
    x_msg_count NUMBER;
    x_msg_data VARCHAR2(3000);
    p_validation_level NUMBER;
    v_errbuf VARCHAR2(2000);
    v_retcode VARCHAR2(20);
    v_released_status wsh_delivery_details.released_status%TYPE;
    v_inv_interfaced_flag wsh_delivery_details.inv_interfaced_flag%TYPE;
    v_oe_interfaced_flag wsh_delivery_details.oe_interfaced_flag%TYPE;
    v_source_code wsh_delivery_details.source_code%TYPE;
    v_pending_interface_flag wsh_trip_stops.pending_interface_flag%TYPE;
    l_changed_attributes wsh_delivery_details_pub.changedattributetabtype;
    l_source_code VARCHAR2(30) := 'OE';
    -- Parameters for WSH_DELIVERIES_PUB
    p_delivery_name VARCHAR2(30);
    p_action_code VARCHAR2(15);
    p_asg_trip_id NUMBER;
    p_asg_trip_name VARCHAR2(30);
    p_asg_pickup_stop_id NUMBER;
    p_asg_pickup_loc_id NUMBER;
    p_asg_pickup_loc_code VARCHAR2(30);
    p_asg_pickup_arr_date DATE;
    p_asg_pickup_dep_date DATE;
    p_asg_dropoff_stop_id NUMBER;
    p_asg_dropoff_loc_id NUMBER;
    p_asg_dropoff_loc_code VARCHAR2(30);
    p_asg_dropoff_arr_date DATE;
    p_asg_dropoff_dep_date DATE;
    p_sc_action_flag VARCHAR2(10);
    p_sc_intransit_flag VARCHAR2(10);
    p_sc_close_trip_flag VARCHAR2(10);
    p_sc_create_bol_flag VARCHAR2(10);
    p_sc_stage_del_flag VARCHAR2(10);
    p_sc_trip_ship_method VARCHAR2(30);
    p_sc_actual_dep_date VARCHAR2(30);
    p_sc_report_set_id NUMBER;
    p_sc_report_set_name VARCHAR2(60);
    p_sc_defer_interface_flag VARCHAR2(60);
    p_sc_send_945_flag VARCHAR2(60);
    p_sc_rule_id NUMBER;
    p_sc_rule_name VARCHAR2(60);
    p_wv_override_flag VARCHAR2(10);
    p_asg_pickup_stop_seq NUMBER;
    p_asg_dropoff_stop_seq NUMBER;
    x_trip_id VARCHAR2(30);
    x_trip_name VARCHAR2(30);
    fail_api EXCEPTION;
    x_debug_file VARCHAR2(100);
    l_ship_method_code VARCHAR2(100);
    l_user_id NUMBER;
    l_resp_id NUMBER;
    l_appl_id NUMBER;
    CURSOR c_ord_details IS
    SELECT DISTINCT det.source_header_number sales_order,
    det.org_id,
    det.source_line_number,
    det.source_header_id,
    det.source_line_id,
    det.source_header_type_name,
    det.inventory_item_id,
    det.requested_quantity,
    det.delivery_detail_id,
    (SELECT concatenated_segments
    FROM mtl_system_items_kfv
    WHERE inventory_item_id = det.inventory_item_id
    AND organization_id = det.organization_id) ordered_item,
    det.organization_id,
    det.src_requested_quantity,
    det.shipped_quantity,
    del.delivery_id,
    del.status_code delivery_status_code,
    det.released_status pick_release_status,
    det.oe_interfaced_flag,
    det.inv_interfaced_flag
    FROM wsh_delivery_details det,
    wsh_delivery_assignments asn,
    wsh_new_deliveries del
    WHERE 1 = 1
    AND det.delivery_detail_id = asn.delivery_detail_id
    AND asn.delivery_id = del.delivery_id(+)
    AND det.source_header_number = 1199656
    AND det.source_line_number = '1.1'
    AND det.org_id = 10102
    AND shipped_quantity IS NULL
    AND NVL(del.status_code, 'OP') <> 'CL'
    and det.delivery_detail_id =21439836
    /* AND det.released_status = 'Y'*/;
    BEGIN
    -- Initializing the Applications
    SELECT user_id INTO l_user_id FROM fnd_user WHERE user_name = 'MSHAPIRA';
    SELECT responsibility_id, application_id
    INTO l_resp_id, l_appl_id
    FROM fnd_responsibility_vl
    WHERE responsibility_name = 'OM Super User - UDS UK';
    fnd_global.apps_initialize(l_user_id, l_resp_id, l_appl_id);
    FOR i IN c_ord_details LOOP
    DBMS_OUTPUT.put_line('Initializing the Application for Shipping Transactions');
    -- Mandatory initialization for R12
    mo_global.set_policy_context('S', i.org_id);
    mo_global.init;
    -- Ship Confirming
    p_delivery_name := TO_CHAR(i.delivery_id);
    DBMS_OUTPUT.put_line('Before Shipping, Calling WSH_DELIVERY_DETAILS_PUB API to Update Shipping Attributes');
    DBMS_OUTPUT.put_line('=============================================');
    l_changed_attributes(1).delivery_detail_id := i.delivery_detail_id;
    l_changed_attributes(1).shipped_quantity := 5;
    wsh_delivery_details_pub.update_shipping_attributes(p_api_version_number => 1.0,
    p_init_msg_list => init_msg_list,
    p_commit => l_commit,
    x_return_status => x_return_status,
    x_msg_count => x_msg_count,
    x_msg_data => x_msg_data,
    p_changed_attributes => l_changed_attributes,
    p_source_code => l_source_code);
    IF (x_return_status <> wsh_util_core.g_ret_sts_success) THEN
    RAISE fail_api;
    DBMS_OUTPUT.put_line('Failed to Update the Shipping Attributes');
    ELSE
    DBMS_OUTPUT.put_line('Successfully Updated the Shipping Attributes');
    END IF;
    BEGIN
    SELECT shipping_method_code
    INTO l_ship_method_code
    FROM oe_order_headers_all
    WHERE order_number = i.sales_order
    AND org_id = i.org_id;
    EXCEPTION
    WHEN OTHERS THEN
    l_ship_method_code := NULL;
    END;
    p_action_code := 'CONFIRM'; -- The action code for ship confirm
    p_sc_action_flag := 'S'; -- Ship entered quantity.
    p_sc_intransit_flag := 'Y';
    --In transit flag is set to 'Y' closes the pickup stop and sets the delivery in transit.
    p_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirm
    p_sc_trip_ship_method := l_ship_method_code; -- The ship method code
    p_sc_defer_interface_flag := 'Y';
    p_sc_stage_del_flag := 'Y';
    p_sc_create_bol_flag := 'N';
    p_wv_override_flag := 'N';
    -- API Call for Ship Confirmation
    DBMS_OUTPUT.put_line('Calling WSH_DELIVERIES_PUB to Perform Ship Confirmation');
    DBMS_OUTPUT.put_line('=============================================');
    wsh_deliveries_pub.delivery_action(p_api_version_number => 1.0,
    p_init_msg_list => init_msg_list,
    x_return_status => x_return_status,
    x_msg_count => x_msg_count,
    x_msg_data => x_msg_data,
    p_action_code => p_action_code,
    p_delivery_id => i.delivery_id,
    p_delivery_name => p_delivery_name,
    p_asg_trip_id => p_asg_trip_id,
    p_asg_trip_name => p_asg_trip_name,
    p_asg_pickup_stop_id => p_asg_pickup_stop_id,
    p_asg_pickup_loc_id => p_asg_pickup_loc_id,
    p_asg_pickup_stop_seq => p_asg_pickup_stop_seq,
    p_asg_pickup_loc_code => p_asg_pickup_loc_code,
    p_asg_pickup_arr_date => p_asg_pickup_arr_date,
    p_asg_pickup_dep_date => p_asg_pickup_dep_date,
    p_asg_dropoff_stop_id => p_asg_dropoff_stop_id,
    p_asg_dropoff_loc_id => p_asg_dropoff_loc_id,
    p_asg_dropoff_stop_seq => p_asg_dropoff_stop_seq,
    p_asg_dropoff_loc_code => p_asg_dropoff_loc_code,
    p_asg_dropoff_arr_date => p_asg_dropoff_arr_date,
    p_asg_dropoff_dep_date => p_asg_dropoff_dep_date,
    p_sc_action_flag => p_sc_action_flag,
    p_sc_intransit_flag => p_sc_intransit_flag,
    p_sc_close_trip_flag => p_sc_close_trip_flag,
    p_sc_create_bol_flag => p_sc_create_bol_flag,
    p_sc_stage_del_flag => p_sc_stage_del_flag,
    p_sc_trip_ship_method => p_sc_trip_ship_method,
    p_sc_actual_dep_date => p_sc_actual_dep_date,
    p_sc_report_set_id => p_sc_report_set_id,
    p_sc_report_set_name => p_sc_report_set_name,
    p_sc_defer_interface_flag => p_sc_defer_interface_flag,
    p_sc_send_945_flag => p_sc_send_945_flag,
    p_sc_rule_id => p_sc_rule_id,
    p_sc_rule_name => p_sc_rule_name,
    p_wv_override_flag => p_wv_override_flag,
    x_trip_id => x_trip_id,
    x_trip_name => x_trip_name);
    IF (x_return_status <> wsh_util_core.g_ret_sts_success) THEN
    DBMS_OUTPUT.put_line('Ship confirm has not been Completed For SO => ');
    ROLLBACK;
    RAISE fail_api;
    ELSE
    DBMS_OUTPUT.put_line('Ship confirm Successfully Completed For SO => ');
    COMMIT;
    DBMS_OUTPUT.put_line('Checking the Delivery Status after delivery action API Call');
    DBMS_OUTPUT.put_line('==========================================');
    SELECT wdd.source_code,
    wdd.released_status,
    wdd.inv_interfaced_flag,
    wdd.oe_interfaced_flag,
    wts.pending_interface_flag
    INTO v_source_code,
    v_released_status,
    v_inv_interfaced_flag,
    v_oe_interfaced_flag,
    v_pending_interface_flag
    FROM wsh_trips wtr,
    wsh_trip_stops wts,
    wsh_delivery_legs wlg,
    wsh_new_deliveries wnd,
    wsh_delivery_assignments wda,
    wsh_delivery_details wdd
    WHERE wtr.trip_id = wts.trip_id
    AND wts.stop_id = wlg.pick_up_stop_id
    AND wts.pending_interface_flag = 'Y'
    AND wdd.inv_interfaced_flag <> 'Y'
    AND wlg.delivery_id = wnd.delivery_id
    AND wnd.delivery_id = wda.delivery_id
    AND wda.delivery_detail_id = wdd.delivery_detail_id
    AND wnd.delivery_id = p_delivery_name
    AND wdd.source_line_id = i.source_line_id;
    IF (v_source_code = 'OE' AND v_released_status = 'C' AND
    v_inv_interfaced_flag <> 'Y' AND v_oe_interfaced_flag <> 'Y' AND
    v_pending_interface_flag = 'Y') THEN
    DBMS_OUTPUT.put_line('The Delivery has been Shipped & the Next Step is - Run Interface');
    DBMS_OUTPUT.put_line('===========================================');
    -- API Call for Submitting Interface Trip Stop
    wsh_ship_confirm_actions.interface_all_wrp(errbuf => v_errbuf,
    retcode => v_retcode,
    p_mode => 'ALL',
    p_stop_id => NULL,
    p_delivery_id => p_delivery_name,
    p_log_level => 0,
    p_batch_id => NULL,
    p_trip_type => NULL,
    p_organization_id => i.organization_id,
    p_num_requests => 1,
    p_stops_per_batch => 1);
    ELSE
    DBMS_OUTPUT.put_line('The Delivery has not Shipped Properly');
    END IF;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN fail_api THEN
    DBMS_OUTPUT.put_line('==============');
    DBMS_OUTPUT.put_line('Error Details If Any');
    DBMS_OUTPUT.put_line('==============');
    wsh_util_core.get_messages(p_init_msg_list => 'Y',
    x_summary => x_msg_summary,
    x_details => x_msg_details,
    x_count => x_msg_count);
    IF x_msg_count > 1 THEN
    x_msg_data := x_msg_summary ||' '||x_msg_details;
    DBMS_OUTPUT.put_line(x_msg_data);
    ELSE
    x_msg_data := x_msg_summary||' '|| x_msg_details;
    DBMS_OUTPUT.put_line(x_msg_data);
    END IF;
    END;
    But at the stage of updating delivery attributes I get the following error message
    Warning: For Delivery Detail 21439836, the following field(s) are not updatable: SHIPPED_QUANTITY.
    Why?

    Hi Paul
    Looks like the authorisation is failing due to a bad registration for some reason.
    Would you be kind enough to clear out the registration to ensure we are dealing with a fresh start and no information is being used which may have become corrupt. You may do this by following this procedure;
    Remove existing reg details
    # usr/lib/cc-ccr/bin/eraseCCRRepository
    List /tmp/RegistrationProfile.properties file
    # cat /tmp/RegistrationProfile.properties
    Attempt re-registration
    # sconadm register -a -r /tmp/RegistrationProfile.properties
    Send us the full output of the commands above if you would please.

  • Marketing Attributes not updating in BP through Suvery

    Hi friends,
    I m working in CRM 5.0, i want to update marketing attribute of BP using survey response, i have created survey which include marketing attributes, in survey setting i have maintained
    Callback to PBO    CRM_MKTBP_SVY_ATTRIBUTE_PBO
    Callback to PAI      CRM_MKTBP_SVY_ATTRIBUTE_PAI
    further i have generated survey url using BSP option, next i have assign this survey url  to  mail form, Customers/BPs can open the mail and able to fill the survey successfully, but when i checked in master data of BP no marketing attributes are assign to them(Marketing attributes are not updating).
    Please help me to resolve this,do  i will have to add marketing attribute anywhere in FM code ?? i have also read sap note : 638320 but no success.
    Thanks,
    Vivan

    Hello together,
    I would like to describe my own problem with updating Marketing Attributes in a Business Partner via a CRM Survey.
    Currently I am working with SAP CRM 7.0 EHP1. The Survey is maintained in SAP Survey Suite in the Application "Marketing".
    Furthermore I am using the following function modules:
    Callback to PBO CRM_MKTBP_SVY_ATTRIBUTE_PBO
    Callback to PAI CRM_MKTBP_SVY_ATTRIBUTE_PAI
    The Marketing Attributes should be updated within a Contact. This contact have assigned the role "Internet User". Behind this role I have defined my CRM User name.
    For testing the Attribute update I have generated an URL with BSP. Afterwards I opened this URL and logged in with my CRM User name. After filling in the survey and submitting no business partner were updated. It seems that the "conversion" from my CRM User to the CRM contact doesn't work. I think there could be a problem with the PBO and PAI modules. Because the functionality "Evaluation" within the Survey Suite shows a number of evaluated questionnaires and answers after submitting my survey.
    So my questions:
    Are the mentioned PBO and PAI modules up to date? (Last change date was in 2005)
    Is the Application "Marketing" within the SAP Survey Suite the correct one?
    I would be glad if anyone could give me tip for my problem. Thanks a lot and best regards,
    Oliver

  • Ap_vendor_pub_pkg.update_vendor_site API is not updating a field

    Hello
    I want to update the Calculate Tax field on the supplier site level.
    I am using the ap_vendor_pub_pkg.update_vendor_site API to update the ap_supplier_sites_all.auto_tax_calc_flag field. But the API does not update the field. I want to change the value of the auto_tax_calc_flag from 'L' or 'N' to 'Y'
    I am running the API as a concurrent request. Thus the org_id should be set when you use the relevant responsibility
    Below is my code. Am I missing a parameter? The API does complete successfully. The ap_supplier_sites_all table does show as updated when you look at the last_update_date field. But the auto_tax_calc_flag value does not change
    Any ideas why the api is not updating
    create or replace procedure apps3_mtnaol.mtn_update_supp_sites(errbuf in out varchar2, retcode in out number) is
    v_error_message varchar2(3000);
    l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
    l_return_status varchar2(1000);
    l_msg_count number;
    l_msg_data varchar2(2000);
    l_msg_dummy varchar2(3000);
    l_output varchar2(3000);
    l_vendor_name varchar2(3000);
    l_vendor_number varchar2(3000);
    l_vendor_site_code varchar2(3000);
    v_vendor_site_code varchar2(3000);
    v_vendor_site_id number;
    v_party_site_id number;
    l_remmitance_email varchar2(2000);
    v_party_id number;
    v_party_site_name varchar2(3000);
    v_ext_payee_rec iby_disbursement_setup_pub.external_payee_rec_type;
    cursor c_1
    is
    select segment1
    ,vendor_name
    ,vendor_id
    --,vendor_site_id --vendor_site_id from org_id 22970
    ,vendor_site_code
    ,vendor_type_lookup_code
    ,org_id
    ,party_id
    ,party_site_id
    from mtn_supplier_site_22970
    where 1 = 1
    and segment1 = '661699';
    begin
    for rec in c_1 loop
    select assa.vendor_site_id -- get vendor_site_id from org_id 5001
    ,assa.party_site_id
    into v_vendor_site_id
    ,v_party_site_id
    from ap_supplier_sites_all assa
    where 1=1
    and org_id = 5001
    and assa.vendor_id = rec.vendor_id
    and vendor_site_code = rec.vendor_site_code;
    select party_id
    ,party_site_name
    into v_party_id
    ,v_party_site_name
    from hz_party_sites
    where 1=1
    and party_site_id = v_party_site_id;
    fnd_msg_pub.delete_msg(null);
    fnd_msg_pub.initialize();
    l_return_status := '';
    l_msg_count := '';
    l_msg_data := '';
    l_vendor_site_rec.vendor_site_code := rec.vendor_site_code;
    l_vendor_site_rec.auto_tax_calc_flag := 'Y'; --calculate_tax field that needs to be set to Yes
    l_vendor_site_rec.org_id := 5001;
    l_vendor_site_rec.vendor_id := rec.vendor_id;
    l_vendor_site_rec.party_site_id := v_party_site_id;
    l_vendor_site_rec.party_site_name := v_party_site_name;
    v_ext_payee_rec.payee_party_id := v_party_id;
    v_ext_payee_rec.supplier_site_id := v_vendor_site_id;
    v_ext_payee_rec.payee_party_site_id := v_party_site_id;
    v_ext_payee_rec.payer_org_id := 5001;
    ap_vendor_pub_pkg.update_vendor_site(p_api_version => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_commit => fnd_api.g_true,
    p_validation_level => fnd_api.g_valid_level_full,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    p_vendor_site_rec => l_vendor_site_rec,
    p_vendor_site_id => v_vendor_site_id
    l_output := '';
    if l_return_status <> 'S' then
    for i in 1..l_msg_count loop
    fnd_msg_pub.get(i, fnd_api.g_false, l_msg_data, l_msg_dummy);
    l_output := l_output || (to_char(i) ||': '|| substr(l_msg_data,1,250));
    fnd_file.put_line(fnd_file.output, 'Unsuccessful Update:'||l_return_status||': '||l_msg_count||', '||l_output);
    fnd_file.put_line(fnd_file.output, 'Vendor Number: ' ||l_vendor_number);
    fnd_file.put_line(fnd_file.output, 'Vendor Name: ' ||l_vendor_name);
    fnd_file.put_line(fnd_file.output, 'Vendor Site Code: ' ||l_vendor_site_code);
    fnd_file.put_line(fnd_file.output, 'Calculate Tax: ' ||l_vendor_site_rec.auto_tax_calc_flag);
    end loop;
    else
    fnd_file.put_line(fnd_file.output, 'Successful Update:' ||l_return_status||': '||l_msg_count||', '||l_output);
    fnd_file.put_line(fnd_file.output, 'Vendor Number: ' ||l_vendor_number);
    fnd_file.put_line(fnd_file.output, 'Vendor Name: ' ||l_vendor_name);
    fnd_file.put_line(fnd_file.output, 'Vendor Site Code: ' ||l_vendor_site_code);
    fnd_file.put_line(fnd_file.output, 'Calculate Tax: ' ||l_vendor_site_rec.auto_tax_calc_flag);
    end if;
    commit;
    end loop;
    exception when others then v_error_message:= 'Other error: ' || SQLERRM;
    fnd_file.put_line(fnd_file.output, 'Error Message: '||v_error_message);
    fnd_file.put_line(fnd_file.log,'***************************************************************************');
    fnd_file.put_line(fnd_file.log, 'Other error: ' || SQLERRM);
    fnd_file.put_line(fnd_file.log,'***************************************************************************');
    end;
    /

    Yes the API works outside my code.
    I have used this exact same API to successfully update other fields on the ap_supplier_sites_all table like hold_unmatched_invoices_flag, match_option, pay_group_lookup_code, pay_date_basis_lookup_code, and always_take_disc_flag fields

  • Issue regarding 0MATERIAL_ATTR  - Attribute not Updated for Some Materials

    Hi All,
    As per requirement, I had enhanced 0MATERIAL_ATTR DS with one customer field MRP Controller.
    After enhancing 0MATERIAL_ATTR, I had made necessary changes in related objects like 0MATERIAL Info Object & related transformation for this new attribute.
    After making changes, when I had done Repair full request for 0MATERIAL_ATTR, newly added attribute had not updated for all material, other attributes were updated correctly but MRP controller had not updated for some records.
    I am confused with why attribute(MRP controller) updated in some Materials & for some materials its not updated.
    I had checked in PSA, data for this added attribute is come in PSA but not updated in data target (0material).
    I had also activated master data by running Attribute change run but still problem persist.
    Please help.
    Regards,
    Divyesh Khambhati

    Hi Venkatesh,
    I had write code in CMOD for MRP controller.
    As data is coming fine till PSA but its not updated in Data Target (0MATERIAL) .
    if I take one example..
    For exp Material XYZ has two entries in PSA table, one is updated during delta load & recent one which come though Repair Full request.
    Now newly adder attribute MRP controller available in recent request of Repair Full but that is blank in case of prior delta update.
    I am confused because MRP controller attribute is updated for some Material but for some material its remain blank.
    please help.
    regards,
    Divyesh Khambhati

  • LastLogonTimeStamp Attribute Not Updated for Computer Account Over SSL-VPN

    We like to use LastLogonTimeStamp (LLTS) to find stale computer accounts, disable them, and eventually delete time.  What we have found is that domain member computers that connect to the domain exclusively by SSL-VPN (for instance in the case of employees
    who work from their home office) do not update LLTS.  Consequently these computers frequently appear on stale computer reports.
    I suppose the required logon type is never used when connecting over SSL-VPN.  Therefore I would like to know if there is a way via a logon script or some other method that we can update this attribute.

    That is normal as you connect to VPN using locally cached credentials for the user and the computer accounts.
    My recommendation to track these computers is to have an agent that periodically report the computer status (Example: Using Microsoft Intune) or have a scheduled task that will run a script when the user is connected to VPN and register the computer name
    as active in a file that is hosted in a share.
    This posting is provided AS IS with no warranties or guarantees , and confers no rights.
    Ahmed MALEK
    My Website Link
    My Linkedin Profile
    My MVP Profile

  • LastLogon attribute not updated in user ADFS federated logon

    We have a situation where part of our users only use their AD domain account for ADFS federated logon.
    Problem is that, the lastLogon attribute does not update, when the user makes an ADFS logon. That in turn will conflict with the automated unused AD account deactivation process which checks the lastLogontimeStamp attribute. Because of it, users may get
    their AD account disabled though they are using it daily.
    In a test AD, the ADFS logon updates the lastLogon attribute OK, so the problem is only in our production ADFS.
    How to troubleshoot the problem and, what might be wrong with it?
    Our AD is with two, WS 2008 R2 DC servers, DFL 2008 R2, and one ADFS server with WS 2008 R2.
    Br, Kari

    This is per design... if a user uses their AD DS account just for authenticating using an ADFS Proxy/WAP they never actually logon to the domain so the lastLogontimeStamp attribute will never but updated for the user account.
    WORK

  • Class attribute in technical workflow log not updated

    Hi Gurus,
    I built a workflow analogous to the famous demo workflow "demoformabs" but with the demo class: CL_SWF_FORMABSENC instead of the BOR: FORMABSENC.
    In the BOR Formabsenc there is also an attribute for the "Approver" (USR01) in addition to "Creator" (USR01).
    This attribute "Approver" is missing in the class "CL_SWF_FORMABSENC".
    So I added this attribute "Approver" also in the class "CL_SWF_FORMABSENC":
    data APPROVER type SIBFLPORB value CL_SWF_BOR_TYPES=>MC_USR01.
    Finally in the method "approve" I set the value for the attribute "APPROVER".
    me->approver-instid = me->APPROVBY.
    I can see that the value has been successfully set by setting a binding from this class attribute to a workflow container element.
    BUT, in the technical workflow log (container) I can not see the class attribute "Approver" populated.
    Here it´s still displayed as < no instance >.
    What do I need to do, to make this value appear also in this class attribute in the technical workflow log?
    Albeit I know, that it´s working, I am getting confused, that it´s still displayed as empty.
    Cheers,
    Dominik

    Hi Dominik,
    You should not populate attributes in this manner, for the very reason you're experiencing. Attributes are transient and behave like variables, i.e. when the class stops existing they disappear. During binding only the key is transferred, and - if needed - the class is re-instantiated at the other end. If you have implemented some kind of buffering/instance management (not a bad idea), then you may be lucky to have attributes survive if everything happens within the same program context. However once your WF session stops executing, this is lost.
    This is why when you look at the log later, it is re-instantiating a completely new instance - where would it know the approver from?
    The attribute value must be written to the DB somewhere, so that any later object instantiation (e.g. when you look at the log) will read the value and populate the attributes correctly.
    Incidentally this is why OO theory discourages the use of public attributes and suggests GET_ and SET_ methods instead....
    Regards,
    Mike

  • Updating attribute columns

    Hi,
    we are on oracle applications 11i.
    We have a requirement to create a descriptive flexfield in the items form and suppliers form to accept ids generated in another system. update would be from database end.
    what is the impact of updating attribute columns in two tables: MTL_SYSTEM_ITEMS_B and po_vendors with a simple procedure, i.e without using existing Oracle APIs?
    Regards

    Hi,
    here is why i think i need to insert a row the value set table : fnd_flex_values .
    after i update the record of the table and alter attribute field with value XXX for value set segment GLOBAL_ID, I go to the application and query the record. It gives me error:
    Value XXX for the flexfield segment Global ID does not exist in the value set XX_GLOBAL_ID.
    this error only goes away when i insert the value XXX to the descriptive flexfield segment values list.
    I defined the value set as independent. If you have another mean where i can accomplish this, I will like to know about it.
    From ittoolbox forum i had the name of the package, which is fnd_flex_values_pkg. I need more details on the tables that i need to update or insert rows into and about the package; if possible.
    thanks

  • Update Attributes in UME

    Hi
    Is it possible to update attributes e.g Language in UME via security.api ?.
    Thanks
    Damien

    Damien,
    Lokesh has given good input but user.setLocale("EN"); may not work as such because method setLocale
    public boolean setLocale(java.util.Locale locale).
    does not accept String parameter.
    I tried it following way and it worked for me.
    IUserMaint user = UMFactory.getUserFactory().getMutableUser(UMFactory.getUserFactory().getUserByLogonID("userid").getUniqueID());
    Locale deLocale = new Locale("de", "DE");
    user.setLocale(deLocale);
    user.commit();
    Obviously, "userid" needs to be replaced with a real User ID.
    After this, refresh the browser and all navigation for user mapped to userid will be in German. You can get more information about Locale [here|http://java.sun.com/developer/technicalArticles/J2SE/locale/].
    Hope it helps,
    Vishwas.

  • I am Trying to update Item category by using Standar API .. But no Updating .. and it show some erros message.. INV INV_VALID_CAT error message

    Hi 
      I am using Standard API to Update Item category. But it was not updating.any value  what passing to paramenter in API But iwas through some.. error mesage INV INV_VALID_CAT
    Regards,
    Sam

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

  • Data in server is not updated

    i have modify the data STREET to "ANG MO KIO"
    http://i192.photobucket.com/albums/z231/yzme/d1.gif
    but the data in server still "HEAVEN ST"
    http://i192.photobucket.com/albums/z231/yzme/d2.gif
    I am using Time2Way T01, if it is when i sync the data will be uploaded, or do i need to configure somewhere to get the data upload ?
    if the data in client and middleware is different, when i sync , the data from the middleware will again download to the client replace the modified values
    OR
    the data in the client will uploaded to the middleware and trigger the MODIFY bapi wrappers ?
    <b>
    when i check my MEREP_MON, and MEREP_LOG there is no data inside this meaning after i changed the values and perform the sync, Inbox and Outbox still remain the previous data as well as inside the MEREP_LOG,
    is it the bapi wrapper not call by the client ?
    </b>
    and i find out that my bapi not get called, what additional code should i add instead of the code below.
    DO I NEED TO IMPLEMENT SOME CODE FOR UPLOADER ??
    do i have to change the reqDirectSync="true", if yes, how do i changed, just change inside the editor, or there is somewhere to configure in sapgui
    after i changed the data , i try to sync, and i check on merep_mon
    what specific or additional steps i need to configure, on uploader / receiver or synchronizer
    <b>i do not implement any syncBoDelta or global reset ?</b>Can someone explain the term "delta" to me and its activities?
    if i have upload something, and sync, the Inbox should have something right ??
    i just put add this code to modify my records
    public String modifyRecord(String eventName,boolean didNavigate){
                             String syncBoName="ZCON";
                             String syncKey="0001230297";
                             tableViewBean.setString(syncBoName +" "+syncKey);
                             System.out.println("SyncBoName: " +syncBoName + " syncKey: " +syncKey);
                             tcp = TableContentProvider.instance(syncBoName);
                             tcp.modifyTable(syncBoName,syncKey);                                   return JSP_DETAIL_SYNCBOINSTANCE;
    public void modifyRecord(String syncBoName,String syncKey){
    SyncBoDescriptor sbd=null;
    sbd=descriptorFacade.getSyncBoDescriptor(syncBoName);
    SyncBo sb=null;
    try{
    System.out.println("bp 2");
    sb=dataFacade.getSyncBo(sbd,syncKey);
    }catch(PersistenceException pex){
    System.out.println("Exception in modifyRecordLoc:" +pex.getMessage());
    SmartSyncTransactionManager transactionManager;
    try{  transactionManager=dataFacade.getSmartSyncTransactionManager();
    if(!transactionManager.isTransactionStarted()){
    transactionManager.beginTransaction();
    boolean b8=false;
    b8=setHeaderFieldValue2(sb,"STREET","ANG MO KIO");
    transactionManager.commit();
    SetSendType();
    listAllOutDelta();
    checkInboxConflict();
    }catch(Exception e){
    System.out.println("Exception in modifyRecordAmt2:" +e.getMessage());
    public void checkInboxConflict(){
              ErrorConflictInbox errorConflictInbox= SmartSyncRuntime.getInstance().getInboxNotifier().getErrorConflictInbox();
              MeIterator iter;
              SyncBoResponse resp;
              try {
              iter= errorConflictInbox.getAllSyncBoResponses();
              while(iter.hasNext()){
              resp= (SyncBoResponse)iter.next();
              String bo=resp.getSyncBoDescriptor().getSyncBoName();//SyncBo Name
              String state=resp.getSyncBoResponseState().toString();
              String res=resp.getResponseType().toString();//Get the SyncBo response type (conflict or ERROR)
              String msg=resp.getText();// This will return the exact message from the server
              System.out.println("bo:" +bo +" state: " +state +" res: " +res +" msg:" +msg);
              System.out.println("state:" +resp.getSyncBoResponseState().toString());
              if(resp.getSyncBoResponseState().equals(SyncBoResponseState.INITIAL)){
                   String a=resp.getSyncBoResponseState().toString();
                   resp.acceptClientSyncBo();
                   String b=resp.getSyncBoResponseState().toString();
                   resp.delete();
                   System.out.println("state1: " +a +"state2: " +b);
              boolean syncStatusComplete= SmartSyncRuntime.getInstance().getInboxNotifier().isSyncStatusComplete();
              System.out.println("syncStatus:" +syncStatusComplete);
              }catch (Exception e) {
              e.printStackTrace();
    public void listAllOutDelta(){
              SyncBoOutDeltaFacade deltFac=SmartSyncRuntime.getInstance().getSyncBoOutDeltaFacade();
              MeIterator allDelta;
              try {
                   allDelta = deltFac.getAllDelta();
                   while(allDelta.hasNext()){
                             SyncBoOutDelta outDelta=(SyncBoOutDelta)allDelta.next();
                             System.out.println("SyncKey:" +outDelta.getSyncKey() +" Action:" +outDelta.getAction()
                                       +" State:" +outDelta.getStateId() +" SendType:"+outDelta.getSendType());
              } catch (SmartSyncException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (PersistenceException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    public void SetSendType(){
              SmartSyncRuntime ssRuntime = SmartSyncRuntime.getInstance();
              SyncBoOutDeltaFacade boDeltaFacade = ssRuntime.getSyncBoOutDeltaFacade();
              SyncBoDescriptorFacade descF = ssRuntime.getSyncBoDescriptorFacade();
              SyncBoDescriptor myBO = descF.getSyncBoDescriptor("ZCON");
              boDeltaFacade.setSendType(myBO, SyncBoOutDeltaSendType.SEND_DIRECT);
    //SyncManager.getInstance().synchronizeWithBackend(VisibilityType.USER_SHARED);
         public boolean setHeaderFieldValue2(
              SyncBo sb,
              String headerFieldName,
              Object value) {
              SyncBoDescriptor sbd = sb.getSyncBoDescriptor();
              //RowDescriptor trd = sbd.getTopRowDescriptor();
              System.out.println("bp 10");
              RowDescriptor trd=sbd.getRowDescriptor("010");
              System.out.println("bp 11");
              FieldDescriptor fd = trd.getFieldDescriptor(headerFieldName);
              System.out.println("fd:" +fd.getFieldName());
              if (fd != null) {
              BasisFieldType bft = fd.getFieldType();
              //Row header = sb.getTopRow();
              System.out.println("bp 12");
              //Row header = null;
              Row[] header=null;
              //try {
                   //header = sb.getRow("0001211181");
                   //header=sb.getTopRow();
                   header=getItemInstances(sb,"010");
                   if(header==null){
                        System.out.println("is null");
                   }else{
                        System.out.println("not null");
              //} catch (PersistenceException e1) {
                   // TODO Auto-generated catch block
              //     System.out.println("Exception getRow:" +e1.getMessage());
              //     e1.printStackTrace();
              System.out.println("bp 13");
              try {
    //             Integer operator
              if (bft == BasisFieldType.N) {
                   System.out.println("Numeric");
              NumericField nf = header[0].getNumericField(fd);
              if (nf != null) {
              BigInteger ii = new BigInteger(value.toString());
              nf.setValue(ii);
              return true;
              } else {
              return false;
    //             Character operator
              if (bft == BasisFieldType.C) {
                   System.out.println("Character");
              CharacterField cf = header[0].getCharacterField(fd);
              if (cf != null) {
              cf.setValue(value.toString());
              return true;
              } else {
              return false;
    //             Decimal operator
              if (bft == BasisFieldType.P) {
                   System.out.println("Decimal");
              DecimalField df = header[0].getDecimalField(fd);
              System.out.println("bp 1.1");
              if (df != null) {
                   System.out.println("bp 1.2");
              BigDecimal bd = new BigDecimal(value.toString());
              System.out.println("bp 1.3");
              df.setValue(bd);
              System.out.println("bp 1.4");
              return true;
              } else {
                   System.out.println("bp 1.5");
              return false;
    //             Similar operation for time and date operator fields
              if (bft == BasisFieldType.D) {
                   System.out.println("Date");
              DateField df = header[0].getDateField(fd);
              if (df != null) {
              if (value.toString().equals("0")) {
              Date dat = Date.valueOf("0000-00-00");
              df.setValue(dat);
              } else if (!value.toString().equals("")) {
              Date dat = Date.valueOf(value.toString());
              df.setValue(dat);
              } else {
              Calendar cal = Calendar.getInstance();
              java.sql.Date bd =
              new java.sql.Date(cal.getTime().getTime());
              df.setValue(bd);
              return true;
              } else {
              return false;
    //             Similar operation for time and date operator fields
              } catch (SmartSyncException ex) {
              System.out.println(ex.getMessage());
              } catch (PersistenceException e) {
              System.out.println(e.getMessage());
              return false;
    SyncType: T01 Wrapper: GetList,GetDetail,Modify
      <?xml version="1.0" encoding="utf-8" ?>
    - <MeRepApplication schemaVersion="1.1" id="ZCON" version="01">
      <Property name="CLIENT.BUILDNUMBER" />
      <Property name="C_APPLRESOLVE" />
      <Property name="DATA_VISIBLE_SHARED">X</Property>
      <Property name="E_APPLRESOLVE" />
      <Property name="FACADE_C_CLIENT">X</Property>
      <Property name="FACADE_E_CLIENT">X</Property>
      <Property name="HOMEPAGE.INVISIBLE" />
      <Property name="INITVALUE" />
      <Property name="RUNTIME">JSP</Property>
      <Property name="TYPE">APPLICATION</Property>
    - <SyncBO id="ZCON" version="1" type="timedTwoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync="false" downloadOrder="1">
    - <TopStructure name="TOP">
    - <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
      <Input type="create">false</Input>
      <Input type="modify">false</Input>
      </Field>
    - <Field name="PERSNUMBER" type="N" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <ChildStructure name="010">
    - <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
      <Input type="create">false</Input>
      <Input type="modify">false</Input>
      </Field>
    - <Field name="PERSNUMBER" type="N" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="CITY1" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="CITY2" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="STREET" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="HOUSE_NUM" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="REGION" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
      </ChildStructure>
      </TopStructure>
      </SyncBO>
      </MeRepApplication>
    Message was edited by:
            yzme yzme

    <u>my intention is very simple, i just need to  update a field in a row and update to the middleware so that the backend will reflect the changes. </u>
    >2 if i set the conflict/error handling to application, then i should have to implement some code for it, right ?
    >3) List syncbooutdelta
    <b>SyncKey:0001233035 Action:M SendType:SEND</b>
    doesnt it mean that when i sync , the uploader will pick up this data and do a modification ??
    i have change the metadata like this
    <SyncBO id="ZCON" version="1" type="timedTwoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync=<b>"true" </b>downloadOrder="1">
    1) i try to sync the application and check the worklist monitor, there is nothing in the inbox ? how come ?
    2)if i test using emulator, i try to modify a value and execute, i am getting the following error.
    <u>
    Header action from mobile="MOD", R/3 action="ADD"
    Return code 1 (DOWNLOADER)
    </u>
    i try to modify not "Add"
    3) I am using Time 2 Way , how to check it is synchronous or asynchronous ? in merep_sbuilder, the default asyn. is checked, meaning async ??
    the type is T01 , ASYNC
    4)
    public void checkInboxConflict(){
              ErrorConflictInbox errorConflictInbox= SmartSyncRuntime.getInstance().getInboxNotifier().getErrorConflictInbox();
              MeIterator iter;
              SyncBoResponse resp;
              try {
              iter= errorConflictInbox.getAllSyncBoResponses();
              while(iter.hasNext()){
              resp= (SyncBoResponse)iter.next();
              String bo=resp.getSyncBoDescriptor().getSyncBoName();//SyncBo Name
              String state=resp.getSyncBoResponseState().toString();
              String res=resp.getResponseType().toString();//Get the SyncBo response type (conflict or ERROR)
              String msg=resp.getText();// This will return the exact message from the server
              System.out.println("bo:" +bo +" state: " +state +" res: " +res +" msg:" +mtext);
              boolean syncStatusComplete= SmartSyncRuntime.getInstance().getInboxNotifier().isSyncStatusComplete();
              System.out.println("syncStatus:" +syncStatusComplete);
              }catch (Exception e) {
              e.printStackTrace();
    <u>bo:ZCON state: INITIAL res: CONFLICT msg:Conflict: R/3 = delete, device = modify
    SyncStatus=true (complete)
    </u>
    5) after that i change my code to this
    while(iter.hasNext()){
      if(resp.getSyncBoResponseState().equals(SyncBoResponseState.INITIAL)){
        String a=resp.getSyncBoResponseState().toString();
        String a1=syncBO.getSyncState().toString();
        resp.acceptClientSyncBo();   //No transaction stated to commit
        resp.delete();
    String b=resp.getSyncBoResponseState().toString();
    String b2=syncBO.getSyncState().toString();
    System.out.println("state1: " +a +"state2: " +b);
    System.out.println("SyncState1: " +a1 +"SyncState2: " +b1);
    <u>state1: INITIAL state2: RESOLVED </u>
    <u>SyncStatus1:QUANRANTINE SyncStatus2: INCONSISTENT</u>
    and i try to sync ...no data in worklist
    6)i try to list out all the delta to be uploaded
    ListAllOutDelta to be upload
    <u>SyncKey:0001233349 Action:I State:99925F8E24DFFE49A4563C5E018E9B61 SendType:SEND
    </u>
    i am modifying the rows, not Insert a new row, the Action:'I' instead of 'M',  pls clarify on this.
    after i sync, i found out that there is 2 record with different syncKey but same primary key and all attributes appear to be same except the attribute that i changing.
    <u>SYNCKEY    PERSNUMBER CITY STREET HOUSENO</u>
    0001230298 000000000  HELL <u>ANG MO KIO</u> 0123456789 (modified record)
    0001230299 000000000  HELL <u>HEAVEN ST</u>  0123456789(old record)
    i check the application and found out that the previous record that i modify have its value changing locally but not updated into the backend, after sync, there is another record downloaded into this application which is the old record before i modify with different syncKey.
    but when i check the backend table, there is only 1 record inside, because i dont implement the 'Create' Bapi.
    does it make sense ?
    7) when i check my client , the data is persisted with modified value , but the changes is not reflected in the server, how come the data in client is not uploaded to the server.
    acceptClientSyncBo will make the client wins how come the data is not get updated in server ?
    Re: Regarding modifying Sync BO
    According to him, can anyone translate the things highlighted below
    for modifying one sync bo instance , there is no need to use createUnlinkedCopy()..
    just use like this..
    sb = dataFacade.getSyncBo(sbd,key);
    SmartSyncTransactionManager transactionManager;
    transactionManager = dataFacade.getSmartSyncTransactionManager();
    transactionManager.beginTransaction();
    setHeaderFieldValue(sb,"PERSNUMBER","9866321467");
    setHeaderFieldValue(sb,"FIRSTNAME","RajaSekhar");
    setHeaderFieldValue(sb,"LASTNAME","Varigonda");
    setHeaderFieldValue(sb,"PROFESSION","Technical Specialist");
    setHeaderFieldValue(sb,"***","MALE");
    setHeaderFieldValue(sb,"BIRTHDAY","1977-09-28");
    setHeaderFieldValue(sb,"HEIGHT","165");
    setHeaderFieldValue(sb,"WEIGHT","75");
    // Commit the transaction
    transactionManager.commit();
    setHeaderFieldValue - can be used to set value in new sync bo instance , or modify the instance.
    <b>
    But one main think here have to consider is , if you have created one Sync Bo instance , not synchronized with back end and u have modified that, then thats just like a creation .So during sync this will call Create Bapi Wrapper.
    </b>
    But after synchronization , is u are modifying that instance , then it is a modification(will call MODIFY Wrapper in back end during synchronization). u must have the right to modify this instance in the client side.
    hope u got it.
    u can debug MI Applications in NWDS.
    refer this blog written by Arun
    /people/arunkumar.ravi/blog/2006/02/22/execute-debug-your-mi-code-from-nwds
    let me know , if u have doubts
    Regards
    Kishor Gopinathan
    pls comment...

Maybe you are looking for

  • SRM Purchase Order not Created Automatically

    SRM 7.0 Extended Classic Scenario: Issue:  When creating a standard shopping cart in SRM the Purchase Order is not created in SRM (or in R3).  Eventhough the shopping cart is fully approved and has a vendor assigned.  The overall shopping cart status

  • Getting list of versions of an object and its corresponding TR

    *Hi experts,*                   *My  requirement is to get the list of all versions and its corresponding TR of an object.*                  *Do we have any function module for doing the same.???*                  *Any pointers will be appreciated.*

  • Help: My PowerBookG4 has gotten very slow

    All of a sudden my PowerBook G4 has become very slow. I get lots of beachballs while it is thinking what to do. It takes 5 minutes to restart and sometimes 5-10 seconds just to open a folder (with a beachball while I wait). All apps are running slow.

  • How to expand an oval in an animation?

    I am taking a beginner Java online course and am at the 2nd to last lesson and I am having a hard time figuring out the following assignment and have only gotten the oval to move across the screen not to expand. Any suggestions or tips with the follo

  • 7310 networked, connected, but doesn't print

    I have had this Officejet 7310 for a few years now, and doesn't usually give me problems.  i have it hooked up over  a wired network, and the computer recognizes the connection.  I can see the printer status through the browser window (192.168.1.5),