我是参考以下例子做的,发贴者说可以,但我试却没有效果。

例子的链接:ECO interface sample 包括create,change,disable

我的系统是EBS R12,研究了好久,无果。

好像执行:Eng_Eco_PUB.Process_Eco这个API都没起作用,发贴者的是11i版的,应该问题不大吧。

有没有人做过同样的例子成功的,可否共享一下,或指点一下问题点呢!!先谢过了!

1) insert into interface tables

2) Call api to import eco

3) Check eco from engineering module

---------------------------Insert into interface tables---------------------------------

declare

v_eco varchar2(10) := 'ECOT01';

begin

delete from eng_eng_changes_interface;

delete from eng_revised_items_interface;

delete from bom_inventory_comps_interface;

insert into eng_eng_changes_interface

(organization_code,

change_notice,

eng_changes_ifce_key,

change_order_type,

reason_code,

approval_status_name,

approval_list_name,

transaction_type,

eco_department_name,

description)

VALUES

('org_code',

v_eco,

'12345',

'Modify',

null,

'Approved',

NULL,

'CREATE',

null,

'Test ECO interface');

insert into eng_revised_items_interface

(organization_code,

change_notice,

eng_revised_items_ifce_key,

assembly_item_number,

revised_item_number,

new_item_revision,

scheduled_date,

transaction_type,

bill_sequence_id)

VALUES

('org_code',

v_eco,

'12345',

'parent_item',

'parent_item',

NULL,

to_date('11/26/2008','MM/DD/YYYY'),

'CREATE',

36993);

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

-- adding

INSERT INTO BOM_INVENTORY_COMPS_INTERFACE

(ORGANIZATION_CODE,

CHANGE_NOTICE,

BOM_INVENTORY_COMPS_IFCE_KEY,

ASSEMBLY_ITEM_NUMBER,

OLD_EFFECTIVITY_DATE,

EFFECTIVITY_DATE,

OLD_OPERATION_SEQ_NUM,

OPERATION_SEQ_NUM,

COMPONENT_ITEM_NUMBER,

TRANSACTION_TYPE,

ACD_TYPE,

ITEM_NUM,

COMPONENT_QUANTITY,

BILL_SEQUENCE_ID,

COMPONENT_SEQUENCE_ID)

VALUES

('org_code',

v_eco,

'12345',

'parent_item',

NULL,

to_date('11/26/2008','MM/DD/YYYY'),

1,

1,

'added_item',

'CREATE',

1,   --acd_type 1-Add,2-Change,3-Disable

30,

35,

NULL,

NULL);

--Change

insert into bom_inventory_comps_interface

(organization_code,

change_notice,

bom_inventory_comps_ifce_key,

assembly_item_number,

effectivity_date,

operation_seq_num,

component_item_number,

transaction_type,

acd_type,

item_num,

component_quantity,

old_effectivity_date,

old_operation_seq_num

--Get this using sql:

--select c.eng_item_flag,c.segment1 as parent_item,d.segment1 as child_item,

--       b.component_quantity as qty_per,

--           b.component_yield_factor,e.meaning,b.component_item_id,b.operation_seq_num,

--           to_char(b.effectivity_date,'dd/mm/yyyy hh24:mi:ss') Old_Effectivity_Date,

--           b.operation_seq_num OLD_OPERATION_SEQ_NUM

--from bom_bill_of_materials_v a,bom_inventory_components b,

--     mtl_system_items_b c,mtl_system_items_b d,fnd_lookup_values_vl e

--where c.segment1 = 'parent_item'

--  and a.bill_sequence_id = b.bill_sequence_id

--  and a.assembly_item_id = c.inventory_item_id

--  and a.organization_id = c.organization_id

--  and c.organization_id = v_organization_id

--  and b.component_item_id = d.inventory_item_id

--  and d.organization_id = v_organization_id

--  and e.lookup_type = 'WIP_SUPPLY'

--  and e.lookup_code = b.wip_supply_type

--  and d.segment1 = 'changed/diabled item'

--  and b.disable_date is null

)

values

('org_code',

v_eco,

'12345',

'parent_code',

to_date('11/26/2008','MM/DD/YYYY'),

1,

'changed_item',

'CREATE',

2,    --acd_type 1-Add,2-Change,3-Disable

20,

1.2,

to_date('03/12/2007 10:15:07','dd/mm/yyyy hh24:mi:ss'),

1

);

--Disable

insert into bom_inventory_comps_interface

(organization_code,

change_notice,

bom_inventory_comps_ifce_key,

assembly_item_number,

effectivity_date,

operation_seq_num,

component_item_number,

transaction_type,

acd_type,

item_num,

disable_date,

old_effectivity_date,

old_operation_seq_num

)

values

('org_code',

v_eco,

'12345',

'parent_code',

to_date('11/26/2008','MM/DD/YYYY'),

1,

'disabled_item',

'CREATE',

3,    --acd_type 1-Add,2-Change,3-Disable

10,

to_date('11/26/2008','MM/DD/YYYY'),

to_date('03/12/2007 10:15:07','dd/mm/yyyy hh24:mi:ss'),

1

);

commit;

end;

-------------------------------2) Call api to import eco---------------------------

declare

p_test_tag   VARCHAR2(10) := 'ECOT01';

p_user_id    number := v_user_id;

p_resp_id    number := v_responsibily_id;

p_prog_appid number := 703;

p_return_status VARCHAR2(500);

l_eco_rec               Eng_Eco_Pub.Eco_Rec_Type;

l_eco_revision_tbl      Eng_Eco_Pub.Eco_Revision_Tbl_Type;

l_revised_item_tbl      Eng_Eco_Pub.Revised_Item_Tbl_Type;

l_rev_component_tbl     Bom_Bo_Pub.Rev_Component_Tbl_Type;

l_sub_component_tbl     Bom_Bo_Pub.Sub_Component_Tbl_Type;

l_ref_designator_tbl    Bom_Bo_Pub.Ref_Designator_Tbl_Type;

l_return_status         VARCHAR2(1);

l_msg_count             NUMBER;

l_msg_data              VARCHAR2(2000);

l_Error_Table           Error_Handler.Error_Tbl_Type;

x_Error_Table           Error_Handler.Error_Tbl_Type;

l_Message_text          VARCHAR2(2000);

x_eco_rec               Eng_Eco_Pub.Eco_Rec_Type;

x_eco_revision_tbl      Eng_Eco_Pub.Eco_Revision_Tbl_Type;

x_revised_item_tbl      Eng_Eco_Pub.Revised_Item_Tbl_Type;

x_rev_component_tbl     Bom_Bo_Pub.Rev_Component_Tbl_Type;

x_sub_component_tbl     Bom_Bo_Pub.Sub_Component_Tbl_Type;

x_ref_designator_tbl    Bom_Bo_Pub.Ref_Designator_Tbl_Type;

l_rev_operation_tbl     Bom_Rtg_Pub.Rev_Operation_Tbl_Type;        --RSC (for 11.5.8)

l_rev_op_resource_tbl   Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type;        --RSC (for 11.5.8)

l_rev_sub_resource_tbl  Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type;        --RSC (for 11.5.8)

x_rev_operation_tbl     Bom_Rtg_Pub.Rev_Operation_Tbl_Type;        --RSC (for 11.5.8)

x_rev_op_resource_tbl   Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type;        --RSC (for 11.5.8)

x_rev_sub_resource_tbl  Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type;        --RSC (for 11.5.8)

CURSOR c_eco_rec IS SELECT * FROM eng_eng_changes_interface  WHERE change_notice like p_test_tag;

CURSOR c_eco_rev IS SELECT * FROM eng_eco_revisions_interface WHERE change_notice like p_test_tag;

CURSOR c_rev_items IS SELECT * FROM eng_revised_items_interface WHERE change_notice like p_test_tag;

CURSOR c_rev_comps IS SELECT * FROM bom_inventory_comps_interface WHERE change_notice like p_test_tag;

CURSOR c_sub_comps IS SELECT * FROM bom_sub_comps_interface WHERE change_notice like p_test_tag;

CURSOR c_ref_desgs IS SELECT * FROM bom_ref_desgs_interface WHERE change_notice like p_test_tag;

i      number;

BEGIN

-- Query all the records and call the Private API.

----------------------------------- Fetch ECO Header ------------------------------------

l_eco_rec := x_eco_rec; --l_eco_rec initialize

FOR eco_rec IN c_eco_rec LOOP

l_eco_rec.eco_name := eco_rec.change_notice;

l_eco_rec.organization_code := eco_rec.organization_code;

l_eco_rec.change_type_code := eco_rec.change_order_type;

--l_eco_rec.status_type := eco_rec.status_type;

l_eco_rec.status_name := eco_rec.status_name;

l_eco_rec.approval_list_name := eco_rec.approval_list_name;

l_eco_rec.eco_department_name :=  eco_rec.responsible_org_code;

l_eco_rec.priority_code := eco_rec.priority_code;

l_eco_rec.approval_date := eco_rec.approval_date;

l_eco_rec.reason_code := eco_rec.reason_code;

l_eco_rec.eng_implementation_cost :=  eco_rec.estimated_eng_cost;

l_eco_rec.mfg_implementation_cost :=  eco_rec.estimated_mfg_cost;

l_eco_rec.cancellation_comments:=eco_rec.cancellation_comments;

--l_eco_rec.requestor := eco_rec.requestor;

l_eco_rec.description := eco_rec.description;

l_eco_rec.transaction_type := eco_rec.transaction_type;

l_eco_rec.organization_hierarchy := eco_rec.organization_hierarchy;

--   l_eco_rec.plm_or_erp_change := eco_rec.plm_or_erp_change;

END LOOP;

dbms_output.put_line('Found ENG_ENG_CHANGES_INTERFACE RECORD WITH CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Fetch ECO Revisions----------------------------------

i := 0;

FOR rev IN c_eco_rev

LOOP

i := i + 1;

l_eco_revision_tbl(i).eco_name := rev.change_notice;

l_eco_revision_tbl(i).organization_code := rev.organization_code;

l_eco_revision_tbl(i).revision := rev.revision;

l_eco_revision_tbl(i).new_revision := rev.new_revision;

l_eco_revision_tbl(i).comments := rev.comments;

l_sub_component_tbl(i).transaction_type := rev.transaction_type;

END LOOP;

dbms_output.put_line('Found ' || i || ' ECO_REV RECORDS FOR CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Fetch Revised Items ---------------------------------

l_revised_item_tbl.delete;

i := 0;

FOR ri IN c_rev_items

LOOP

i := i + 1;

l_revised_item_tbl(i).eco_name := ri.change_notice;

l_revised_item_tbl(i).organization_code := ri.organization_code;

l_revised_item_tbl(i).revised_item_name := ri.revised_item_number;

IF ri.new_item_revision = FND_API.G_MISS_CHAR THEN

l_revised_item_tbl(i).new_revised_item_revision := NULL;

ELSE

l_revised_item_tbl(i).new_revised_item_revision := ri.new_item_revision;

END IF;

l_revised_item_tbl(i).start_effective_date := ri.scheduled_date;

l_revised_item_tbl(i).alternate_bom_code := ri.alternate_bom_designator;

l_revised_item_tbl(i).status_type := ri.status_type;

l_revised_item_tbl(i).mrp_active := ri.mrp_active;

l_revised_item_tbl(i).earliest_effective_date := ri.early_schedule_date;

l_revised_item_tbl(i).use_up_item_name := ri.use_up_item_number;

l_revised_item_tbl(i).use_up_plan_name := ri.use_up_plan_name;

l_revised_item_tbl(i).disposition_type := ri.disposition_type;

l_revised_item_tbl(i).update_wip := ri.update_wip;

l_revised_item_tbl(i).cancel_comments := ri.cancel_comments;

l_revised_item_tbl(i).change_description := ri.descriptive_text;

l_revised_item_tbl(i).transaction_type := ri.transaction_type;

END LOOP;

dbms_output.put_line('Found ' || i || ' RI RECORDS FOR CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Fetch Revised Components ----------------------------

i := 0;

FOR rc IN c_rev_comps

LOOP

i := i + 1;

l_rev_component_tbl(i).old_effectivity_date := rc.Old_Effectivity_Date;

l_rev_component_tbl(i).old_operation_sequence_number := rc.OLD_OPERATION_SEQ_NUM;

l_rev_component_tbl(i).eco_name := rc.change_notice;

l_rev_component_tbl(i).organization_code := rc.organization_code;

l_rev_component_tbl(i).revised_item_name := rc.assembly_item_number;

--l_rev_component_tbl(i).new_revised_item_revision := NULL;

l_rev_component_tbl(i).start_effective_date := rc.effectivity_date;

--l_rev_component_tbl(i).new_effective_date := '';

l_rev_component_tbl(i).operation_sequence_number :=  rc.operation_seq_num;

l_rev_component_tbl(i).component_item_name := rc.component_item_number;

l_rev_component_tbl(i).alternate_bom_code := rc.alternate_bom_designator;

l_rev_component_tbl(i).acd_type := rc.acd_type;

l_rev_component_tbl(i).item_sequence_number := rc.item_num;

l_rev_component_tbl(i).disable_date := rc.disable_date;

l_rev_component_tbl(i).quantity_per_assembly := rc.component_quantity;

l_rev_component_tbl(i).planning_percent := rc.planning_factor;

l_rev_component_tbl(i).projected_yield := rc.component_yield_factor;

l_rev_component_tbl(i).include_in_cost_rollup := rc.include_in_cost_rollup;

l_rev_component_tbl(i).wip_supply_type := rc.wip_supply_type;

l_rev_component_tbl(i).so_basis :=  rc.so_basis;

l_rev_component_tbl(i).optional := rc.optional;

l_rev_component_tbl(i).mutually_exclusive := rc.mutually_exclusive_options;

l_rev_component_tbl(i).check_atp := rc.check_atp;

l_rev_component_tbl(i).shipping_allowed := rc.shipping_allowed;

l_rev_component_tbl(i).required_to_ship := rc.required_to_ship;

l_rev_component_tbl(i).required_for_revenue := rc.required_for_revenue;

l_rev_component_tbl(i).include_on_ship_docs := rc.include_on_ship_docs;

l_rev_component_tbl(i).quantity_related := rc.quantity_related;

l_rev_component_tbl(i).supply_subinventory := rc.supply_subinventory;

l_rev_component_tbl(i).location_name := rc.location_name;

l_rev_component_tbl(i).minimum_allowed_quantity := rc.low_quantity;

l_rev_component_tbl(i).maximum_allowed_quantity := rc.high_quantity;

--l_rev_component_tbl(i).component_remarks := rc.component_remarks;

l_rev_component_tbl(i).transaction_type := rc.transaction_type;

dbms_output.put_line('start_effective_date='||to_char(l_rev_component_tbl(i).start_effective_date,'DD-MON-YYYY HH24:MI:SS'));

END LOOP;

dbms_output.put_line('Found ' || i || ' RC RECORDS FOR CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Fetch Substitute Component --------------------------

i := 0;

FOR sc IN c_sub_comps

LOOP

i := i + 1;

l_sub_component_tbl(i).eco_name := sc.change_notice;

l_sub_component_tbl(i).organization_code := sc.organization_code;

l_sub_component_tbl(i).revised_item_name := sc.assembly_item_number;

l_sub_component_tbl(i).start_effective_date := sc.effectivity_date;

l_sub_component_tbl(i).new_revised_item_revision := NULL;

l_sub_component_tbl(i).component_item_name := sc.component_item_number;

l_sub_component_tbl(i).alternate_bom_code := sc.alternate_bom_designator;

l_sub_component_tbl(i).substitute_component_name := sc.substitute_comp_number;

l_sub_component_tbl(i).acd_type := sc.acd_type;

l_sub_component_tbl(i).operation_sequence_number := sc.operation_seq_num;

l_sub_component_tbl(i).substitute_item_quantity := sc.substitute_item_quantity;

l_sub_component_tbl(i).transaction_type := sc.transaction_type;

END LOOP;

dbms_output.put_line('Found ' || i || ' SC RECORDS FOR CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Fetch Reference Designators -------------------------

i := 0;

FOR rd IN c_ref_desgs

LOOP

i := i + 1;

l_ref_designator_tbl(i).eco_name := rd.change_notice;

l_ref_designator_tbl(i).organization_code := rd.organization_code;

l_ref_designator_tbl(i).revised_item_name := rd.assembly_item_number;

l_ref_designator_tbl(i).start_effective_date := rd.effectivity_date;

l_ref_designator_tbl(i).new_revised_item_revision := null;

l_ref_designator_tbl(i).operation_sequence_number := rd.operation_seq_num;

l_ref_designator_tbl(i).component_item_name := rd.component_item_number;

l_ref_designator_tbl(i).alternate_bom_code := rd.alternate_bom_designator;

l_ref_designator_tbl(i).reference_designator_name := rd.component_reference_designator;

l_ref_designator_tbl(i).acd_type := rd.acd_type;

l_ref_designator_tbl(i).ref_designator_comment := rd.ref_designator_comment;

--l_ref_designator_tbl(i).new_reference_designator := rd.new_designator;

l_ref_designator_tbl(i).transaction_type := rd.transaction_type;

END LOOP;

dbms_output.put_line('Found ' || i || ' RD RECORDS FOR CHANGE_NOTICE:  '||p_test_tag);

----------------------------------- Initialize ------------------------------------------

Eng_Globals.G_WHO_REC.user_id := p_user_id;

Eng_Globals.G_WHO_REC.prog_appid := p_prog_appid;

Eng_Globals.G_WHO_REC.prog_id:= NULL;

Eng_Globals.G_WHO_REC.req_id := NULL;

fnd_global.apps_initialize(user_id      => Eng_Globals.G_WHO_REC.user_id

, resp_id      => p_resp_id

, resp_appl_id => Eng_Globals.G_WHO_REC.prog_appid           );

----------------------------------- Call API --------------------------------------------

-- Initialize the error handling table

Error_Handler.initialize;

Eng_Eco_PUB.Process_Eco(p_api_version_number         => 1.0

,p_init_msg_list => FALSE

,x_return_status              => l_return_status

,x_msg_count                  => l_msg_count

,p_bo_identifier              => 'ECO'

,p_eco_rec                    => l_eco_rec

,p_eco_revision_tbl           => l_eco_revision_tbl

,p_revised_item_tbl           => l_revised_item_tbl

,p_rev_component_tbl          => l_rev_component_tbl

,p_sub_component_tbl          => l_sub_component_tbl

,p_ref_designator_tbl         => l_ref_designator_tbl

,p_rev_operation_tbl          => l_rev_operation_tbl

,p_rev_op_resource_tbl        => l_rev_op_resource_tbl

,p_rev_sub_resource_tbl       => l_rev_sub_resource_tbl

,x_rev_operation_tbl          => x_rev_operation_tbl

,x_rev_op_resource_tbl        => x_rev_op_resource_tbl

,x_rev_sub_resource_tbl       => x_rev_sub_resource_tbl

,x_eco_rec                    => x_eco_rec

,x_eco_revision_tbl           => x_eco_revision_tbl

,x_revised_item_tbl           => x_revised_item_tbl

,x_rev_component_tbl          => x_rev_component_tbl

,x_sub_component_tbl          => x_sub_component_tbl

,x_ref_designator_tbl         => x_ref_designator_tbl

,p_debug                      => 'Y'

,p_output_dir                 => '/usr/tmp'

,p_debug_filename             => 'ECO_BO_DEBUG.log'

);

--

-- On return from the PUB API

-- Perform all the error handler operations to verify that the

-- error or warning are displayed and all the error table interface

-- function provided to the user work corrently;

--

IF (l_return_status = 'S') THEN

dbms_output.put_line('Import SUCCESS!!');

commit;

ELSE

l_error_table.DELETE;

Error_Handler.Get_Message_List( x_message_list  => l_error_table);

--   dbms_output.put_line('aa' || to_char(l_error_table.COUNT));

FOR i IN 1..l_error_table.COUNT

LOOP

dbms_output.put_line('Entity Id:  '||l_error_table(i).entity_id);

dbms_output.put_line('Index    :  '||l_error_table(i).entity_index);

dbms_output.put_line('Table Name  '||l_error_table(i).table_name);

dbms_output.put_line('Mesg     :  '||l_error_table(i).message_text);

dbms_output.put_line('row_identifier  '||l_error_table(i).row_identifier);

--dbms_output.put_line('ne');

dbms_output.put_line('---------------------------------------');

END LOOP;

dbms_output.put_line('Total Messages: ' || to_char(i));

END IF ;

p_return_status := l_return_status;

END ;

oracle eco 开放接口,请教API来做ECO变更的例子,感谢!!相关推荐

  1. 开放接口/RESTful/Api服务的设计和安全方案详解

    一.总体思路 这个涉及到两个方面问题: 一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证) 一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字 ...

  2. oracle eco 开放接口,问题:关于ECO,ECN的API或者INTERFACE

    具体的例子没有做过, Main Packages ENG_Eco_PUB : This is the public PL/SQL package that is to be programmatica ...

  3. 开放接口API安全性

    服务端对外开放API接口,尤其对移动应用开放接口的时候,更需要关注接口安全性的问题,要确保应用APP与API之间的安全通信,防止数据被恶意篡改等攻击. 安全考量点 Token机制 开放接口时最基本需要 ...

  4. 开放接口API(开发者的福利)

    作为软件开发者来说,没事做点小东西,或者学习的时候做一个练手的小项目,比如:做小程序,app,前段项目等等. 这种难免会需要接口的配合,但是既要做前端又要做后台接口开发,难免有时间和能力的缺陷,怎么才 ...

  5. 热点热词开放接口-免费的API接口

    为什么80%的码农都做不了架构师?>>>    热点热词风云榜  是 医药吧开放平台 基于百度风云榜而开发的开放接口. 系统及时更新百度风云榜的关键词(采集频率一小时,每天约采集10 ...

  6. App开放接口api安全:Token签名sign的设计与实现

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:cnblogs.com/whcghost/p/5657 ...

  7. python api接口 安全_App开放接口api安全性的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等 ...

  8. 巴士电台开放接口API

    巴士电台(Bus.Fm)是跟落网站长和朋友们一起开发的一个在线电台,非商业运营,目前已稳定运行几个月,考虑到我们人手不够,因为赶制了开放接口出来,希望有心的网友来加入制作各种好玩的应用在各大平台上面, ...

  9. 好的股票程序化交易api接口模型该怎么做?

    下面我们从几个方面来分享一下好的股票程序化交易api接口模型该怎么做? 1.用简单的哲理解决复杂的问题 我们都知道,时间是最珍贵的东西,它过去了就是过去了,不可能再回来了.所以我们今天的事情,不可以拖 ...

最新文章

  1. Debian中编译内核
  2. Dreamweaver使用详解
  3. 膜拜大佬!不同层级的Android开发者的不同行为,社招面试心得
  4. Flink的设计与实现:集群资源管理
  5. 【BZOJ1044】【tyvj3511】【codevs1870】木棍分割,二分答案+滚动数组+前缀和DP
  6. creator 静态属性_cocos creator 属性面板设置
  7. 【电脑帮助】解决Wind10系统spacedesk程序开机自启动的问题
  8. 11、进入保护模式-V
  9. 越成功的人越能直面人性的欲望
  10. 公式字符串转换为公式或结果
  11. 政务云存储 备份方案_最佳的在线备份和云存储解决方案
  12. html判断eq相反,HTML中Smarty中的if语句条件修饰词eq相等ne、neq不相等,gt大于
  13. 谷歌浏览器字体最小12px
  14. SpringBoot入门,快速搭建简单Web应用环境
  15. 你的离职是为了事业还为了工作??
  16. 一筐梨子amp;一筐水果——协变性(covariant)
  17. 【旅行青蛙】你的蛙到底在干什么?
  18. windows10 访问网页的时候提示找不到服务器IP地址如何处理
  19. Mac清倒废纸篓提示“voicetrigger“在使用中
  20. 计算卫星高度角、方位角

热门文章

  1. 白山云科技校招:系统研发、机器学习、数据挖掘工程师
  2. 电子元器件销售如何从小白到精英
  3. 室内温湿度检测系统解决方案
  4. 免费点亮手机腾讯网图标_不用手机照样点亮
  5. 解决“忘记superuser的账号或密码”(Django)
  6. Ts基础知识及ts+vue3的基本使用
  7. TabLayout的自定义实现选项卡背景的滑动动画
  8. Opera 浏览器各版本下载地址大全
  9. 图片旋转动画(网页制作)
  10. 小米4手机刷入linux系统