api用于转移到Oracle应用程序中的制造

时间:2016-09-27 10:56:03

标签: sql oracle plsql oracle-apps

我正在尝试找到api或接口表来执行"转移到制造"在Oracle应用程序中。

我尝试了以下4种方法,但没有运气:

  1. mtl_system_items_interface接口表
  2. apps.ego_item_pub.process_item public api
  3. ENG_BOM_RTG_TRANSFER_PKG.ENG_BOM_RTG_TRANSFER私人api导致
  4. ENG_ECO_PUB.Process_ECO API
  5. 任何人都可以通过一些例子来指导我,如何通过api做到这一点?

    试过ECO https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=349161821206184&id=1242524.1&_adf.ctrl-state=qaus6q7ko_7 ...... 在这份文件中,要点没有。 7与我的要求有关。

      
        
    1. 如何使用ENG_ECO_PUB.Process_ECO API将工程项目,清单和工艺路线转移到制造业?   工程项目,票据,需要转移到制造业的路线可以添加到ECO。实施ECO后,所有这些实体将从工程转移到制造,并且将更新相应的字段。 (MTL_SYSTEM_ITEMS_B.ENG_ITEM_FLAG / BOM_STRUCTURES_B.ASSEMBLY_TYPE工程到制造)    - 创建ECO并修改要转移到Mfg的项目   L_Eco_Rec.Change_Type_Code:=' ECO&#39 ;;   l_eco_rec.approval_list_name:= NULL; - 无需批准   L_Eco_Rec.Approval_Status_Name:='已批准&#39 ;; - 默认为未提交审批   l_eco_rec.Status_Name:='打开&#39 ;; - 状态   l_eco_rec.description:=' ECO - ' || l_eco_rec.eco_name ||' API测试&#39 ;;   l_eco_rec.transaction_type:='创建';
        l_eco_rec.plm_or_erp_change:=' ERP';
        l_eco_rec.return_status:= NULL;   l_revised_item_tbl(l_row_cnt).eco_name:=' ECO100&#39 ;;   l_revised_item_tbl(l_row_cnt).organization_code:=' M1&#39 ;;   l_revised_item_tbl(l_row_cnt).revised_item_name:=' TEST_REV_ITEM1&#39 ;;   l_revised_item_tbl(l_row_cnt).new_revised_item_revision:=' B&#39 ;;   l_revised_item_tbl(l_row_cnt).start_effective_date:= sysdate;   l_revised_item_tbl(l_row_cnt).status_type:= 1; - '打开'   l_revised_item_tbl(l_row_cnt).change_description:=' ECO - 转移&#39 ;;   l_revised_item_tbl(l_row_cnt).transaction_type:=' CREATE&#39 ;; - 事务类型:CREATE / UPDATE   l_revised_item_tbl(l_row_cnt).Transfer_Or_Copy:=' T&#39 ;;   l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Item:= 1; - 转移物品
        l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Bill:= 1; - 转移法案
        l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Routing:= 1; - 转移路由
    2.   

    我尝试过但在日志中收到以下错误:

      

    organization_code:AGM   organization_id:105   以下对象将作为同一业务对象的一部分进行处理   | ECO:ECO100   |生态修订:0   |改变线路:0   |修订的项目:1   |修订过的COMPS:0   | SUBS。 COMPS:0   | REFD。 DESGS:0   |操作:0   |资源:0   | SUB RESOURCE:0

         

    PVT API:调用ECO_Header return_status:S return_status:S Within   日志错误程序。 。 。范围:实体索引:1错误级别:0   错误状态:U其他状态:N其他消息:业务对象:ECO   翻译和插入消息。 。 。实体ID:BO消息计数   关于这一点:1完成提取其他消息。 。 。其他   生成消息:错误级别是业务对象。 。 。状态   意外和范围是全部。 。 。错误级别是ECO。 。 。设置   修改了项目记录到N设置修订的组件记录到N.   范围=所有在修订的组件设置参考指示符记录到   N将替换组件记录设置为N设置修订操作   记录到N Scope = All in Operation Sequences设置Opration Rsource   记录到N将子操作资源记录设置为N

    有人知道这些参数吗?

1 个答案:

答案 0 :(得分:0)

当我谷歌搜索“api转移到oracle应用程序中的制造”时,有一个长时间的沉默,在这个论坛中也是如此。我担心的另一件事是,如果问题没有得到解答,那么我将再次从这里开始。

这是我们制定的解决方案:

Declare
    l_inventory_item_id number := 5838015;
    l_org_id number :=105;
    l_resp_id number;
    l_appl_id number;
begin
    select responsibility_id, application_id
    into l_resp_id, l_appl_id
    from fnd_responsibility
    where responsibility_key = 'INVENTORY_SUPER_USER';

    --initialize user session
    fnd_global.apps_initialize(
        user_id => fnd_global.user_id,
        resp_id => l_resp_id,
        resp_appl_id => l_appl_id);

APPS.ENG_BOM_RTG_TRANSFER_PKG.ENG_BOM_RTG_TRANSFER
(
X_org_id            => l_org_id,
X_eng_item_id           =>l_inventory_item_id,
X_mfg_item_id           =>l_inventory_item_id,
X_transfer_option   => 2,
X_designator_option     => 1,
X_alt_bom_designator        => NULL,
X_alt_rtg_designator        => NULL, 
X_effectivity_date      => sysdate,
X_last_login_id         => -1,
X_bom_rev_starting      => NULL,
X_rtg_rev_starting      => NULL,
X_ecn_name      =>  'ABC.ABC_11377_121',
X_item_code         => 1,
X_bom_code          => 2,
X_rtg_code          => 1,
X_mfg_description   =>  NULL,
X_segment1          => NULL,
X_segment2          => NULL,
X_segment3          => NULL,
X_segment4          => NULL,
X_segment5          => NULL,
X_segment6          => NULL,
X_segment7          => NULL,
X_segment8          => NULL,
X_segment9          => NULL,
X_segment10         => NULL,
X_segment11         => NULL,
X_segment12         => NULL,
X_segment13         => NULL,
X_segment14         => NULL,
X_segment15         => NULL,
X_segment16         => NULL,
X_segment17         => NULL,
X_segment18         => NULL,
X_segment19         => NULL,
X_segment20         => NULL,
X_implemented_only      =>1,
X_unit_number           => NULL,
X_commit           => TRUE);
end;

在此代码之后,您可以检查eng_item_flag ='N',engineering_date应该是sysdate。