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

  • 相关阅读:
    mysq 日期相减
    说说时间观与时间管理——北漂18年(71)
    ionic之切换开关
    ionic之单选框
    SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE locks在RR模式下可以看到最新的记录
    14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
    14.5.2.2 autocommit, Commit, and Rollback
    14.5.2 事务隔离级别
    对于唯一索引使用唯一条件搜索, InnoDB 只锁定找到的index record,不是它之前的区间
    mysql explain 解释
  • 原文地址:https://www.cnblogs.com/benio/p/2079469.html
Copyright © 2011-2022 走看看