zoukankan      html  css  js  c++  java
  • 根据API创建ITEM

     

    根据API创建项目


    /****************************************************************************************
    Created By : COOLER LEE

    Creation Date : 2006-1-4

    Notes : Please uncomment the dbms_output statements if needed. 
    This is being commented out for check in purposes.
    Purpose : Create,Update item by API.
    ******************************************************************************************/

    /*****************************************************************************************
    *根据API创建项目
    *创建:LEE 2006-1-4
    *目的:该PROCEDURE用于创建项目。每次调用创建一个项目
    *参数:l_template_name : 所需要应用的项目模板名称(新建项目的将从依据模板来生成项目属性)
    * l_item_rec : 指定须创建项目的属性,必须先赋值再传入,如,
    * l_item_rec.segment1 := 'TEST-ITEM01';
    l_item_rec.description := 'LEE-CREATE-TEST-ITEM01';
    l_item_rec.organization_id := 2;
    l_template_name := 'ATO 选件类';
    * x_item_rec :已创建好的项目. (用于在程序中返回当前项目的信息) 
    * x_return_status : 返回值,处理结果,成功为'*',失败为'*'
    * *_error_tbl : 返回处理过程中的信息(如果处理失败) 
    *注意事项及用法:
    * 可用的模板如, 
    * --ATO 模型
    * --ATO 选件类
    * --成品模板
    * --光板
    * --非标模胚
    l_template_name := 'ATO 选件类';

    ********************************************************************************/

    PROCEDURE create_item(l_template_name VARCHAR2,
    l_item_rec IN inv_item_grp.item_rec_type,
    x_item_rec IN OUT inv_item_grp.item_rec_type,
    x_return_status IN OUT VARCHAR2,
    x_msg_data OUT VARCHAR2,
    x_error_tbl IN OUT inv_item_grp.error_tbl_type) IS
    v_message_tmp VARCHAR2(2000);
    BEGIN

    inv_item_grp.create_item(p_template_name => l_template_name,
    p_item_rec => l_item_rec,
    x_item_rec => x_item_rec,
    x_return_status => x_return_status,
    x_error_tbl => x_error_tbl);

    dbms_output.put_line('执行结果' || x_return_status);
    COMMIT;
    FOR i IN 1 .. x_error_tbl.COUNT
    LOOP
    x_msg_data := x_msg_data || x_error_tbl(i).message_text;
    END LOOP;

    --返回出错信息示例 
    /***********************************************************************************
    j := x_error_tbl.COUNT;
    dbms_output.put_line('执行结果' || x_return_status);

    IF j > 0 THEN
    ROLLBACK;
    dbms_output.put_line('-------------------------------------------------------------');

    FOR i IN 1 .. j LOOP
    dbms_output.put_line(x_error_tbl(j).message_name);
    dbms_output.put_line(x_error_tbl(j).message_name);
    dbms_output.put_line(x_error_tbl(j).table_name);
    dbms_output.put_line(x_error_tbl(j).column_name);
    dbms_output.put_line(substr(x_error_tbl(j).message_text, 1, 254));
    END LOOP;
    dbms_output.put_line('-------------------------------------------------------------');
    ELSE
    COMMIT;
    END IF;
    *************************************************************************************/

    END create_item;

    ----------------------------------------------------------------------------------------------

    --- Test Example
    --- Created on 2006-1-4 by LEE 
    declare
    -- Local variables here
    l_item_rec inv_item_grp.item_rec_type;
    x_return_status VARCHAR2(200);
    x_msg_data VARCHAR2(200);
    x_error_tbl inv_item_grp.error_tbl_type;
    x_item_rec inv_item_grp.item_rec_type;
    l_template_name VARCHAR2(200);
    v_message_tmp VARCHAR2(2000);
    i integer;
    begin
    -- Test statements here

    l_item_rec.segment1 := 'TEST-ITEM01';
    l_item_rec.description := 'LEE-CREATE-TEST-ITEM01';
    l_item_rec.organization_id := 2;
    l_template_name := 'ATO 选件类';
    inv_item_grp.create_item(p_template_name => l_template_name,
    p_item_rec => l_item_rec,
    x_item_rec => x_item_rec,
    x_return_status => x_return_status,
    x_error_tbl => x_error_tbl);

    dbms_output.put_line('执行结果 ' || x_return_status);
    if x_return_status = fnd_api.G_RET_STS_SUCCESS then
    --success;
    COMMIT;
    DBMS_OUTPUT.put_line('success');
    else
    --failure;
    ROLLBACK;
    DBMS_OUTPUT.put_line('failure');
    end if;
    FOR i IN 1 .. x_error_tbl.COUNT LOOP
    x_msg_data := x_msg_data || x_error_tbl(i).message_text;
    dbms_output.put_line('x_msg_data is :' || x_msg_data);
    END LOOP;
    end; 

    /***************************************************************************************** 
    *根据API更新项目 
    *创建:LEE 2006-1-4 
    *目的:该PROCEDURE用于更新项目。每次调用更新一个项目 
    *参数: 
    * l_item_rec : 指定需要更新项目的属性,必须先赋值再传入,如, 
    * l_item_rec.segment1 := 'TEST-ITEM01'; 
    l_item_rec.description := 'LEE-CREATE-TEST-ITEM01-UPDATE'; 
    l_item_rec.organization_id := 2; 
    * x_item_rec :已更新好的项目. (用于在程序中返回当前项目的信息) 
    * x_return_status : 返回值,处理结果,成功为'*',失败为'*' 
    * *_error_tbl : 返回处理过程中的信息(如果处理失败) 
    *注意事项及用法: 
    指定需要更新项目的属性; 

    ********************************************************************************/ 

    PROCEDURE update_item(l_item_rec IN inv_item_grp.item_rec_type, 
    x_item_rec IN OUT inv_item_grp.item_rec_type, 
    x_return_status IN OUT VARCHAR2, 
    x_msg_data OUT VARCHAR2, 
    x_error_tbl IN OUT inv_item_grp.error_tbl_type) IS 
    v_message_tmp VARCHAR2(2000); 
    BEGIN 

    inv_item_grp.update_item(p_item_rec => l_item_rec, 
    x_item_rec => x_item_rec, 
    x_return_status => x_return_status, 
    x_error_tbl => x_error_tbl); 

    dbms_output.put_line('执行结果' || x_return_status); 
    COMMIT; 
    FOR i IN 1 .. x_error_tbl.COUNT 
    LOOP 
    x_msg_data := x_msg_data || x_error_tbl(i).message_text; 
    END LOOP; 

    --返回出错信息示例 
    /*********************************************************************************** 
    j := x_error_tbl.COUNT; 
    dbms_output.put_line('执行结果' || x_return_status); 

    IF j > 0 THEN 
    ROLLBACK; 
    dbms_output.put_line('-------------------------------------------------------------'); 

    FOR i IN 1 .. j LOOP 
    dbms_output.put_line(x_error_tbl(j).message_name); 
    dbms_output.put_line(x_error_tbl(j).message_name); 
    dbms_output.put_line(x_error_tbl(j).table_name); 
    dbms_output.put_line(x_error_tbl(j).column_name); 
    dbms_output.put_line(substr(x_error_tbl(j).message_text, 1, 254)); 
    END LOOP; 
    dbms_output.put_line('-------------------------------------------------------------'); 
    ELSE 
    COMMIT; 
    END IF; 
    *************************************************************************************/ 

    END update_item; 

    ---------------------------------------------------------------------------------------------- 

    --- Test Example
    --- Created on 2006-1-4 by LEE 
    declare
    -- Local variables here
    l_item_rec inv_item_grp.item_rec_type;
    x_return_status VARCHAR2(200);
    x_msg_data VARCHAR2(200);
    x_error_tbl inv_item_grp.error_tbl_type;
    x_item_rec inv_item_grp.item_rec_type;
    l_template_name VARCHAR2(200);
    v_message_tmp VARCHAR2(2000);
    i integer;
    begin
    -- Test statements here

    l_item_rec.segment1 := 'TEST-ITEM01';
    l_item_rec.description := 'LEE-CREATE-TEST-ITEM01-UPDATE';
    l_item_rec.organization_id := 2;
    --l_template_name := 'ATO 选件类';
    inv_item_grp.Update_Item( /*p_commit => TRUE,*/
    -- p_template_name => l_template_name,
    p_item_rec => l_item_rec,
    x_item_rec => x_item_rec,
    x_return_status => x_return_status,
    x_error_tbl => x_error_tbl);

    dbms_output.put_line('执行结果 ' || x_return_status);
    if x_return_status = fnd_api.G_RET_STS_SUCCESS then
    --success;
    COMMIT;
    DBMS_OUTPUT.put_line('success');
    else
    --failure;
    ROLLBACK;
    DBMS_OUTPUT.put_line('failure');
    end if;
    FOR i IN 1 .. x_error_tbl.COUNT LOOP
    x_msg_data := x_msg_data || x_error_tbl(i).message_text;
    dbms_output.put_line('x_msg_data is :' || x_msg_data);
    END LOOP;
    end;

             

                成长

           /      |     \

        学习   总结   分享

    QQ交流群:122230156

  • 相关阅读:
    win10下查看进程,杀死进程
    Pycharm,debug调试时怎样带参数
    struts2,登录功能模块实现
    struts2处理.do后缀的请求
    struts2 修改action的后缀
    j2ee中如何拦截jsp页面?
    4个好用的JS联动选择插件
    css position:absolute 如何居中对齐
    使用jquery插件报错:TypeError:$.browser is undefined的解决方法
    phpcms v9后台多表查询分页代码
  • 原文地址:https://www.cnblogs.com/benio/p/2079469.html
Copyright © 2011-2022 走看看