鼎捷T100ERP中实现BOM结构按层级导出的存储过程代码

由于公司最近在上PLM系统,要将T100现有的BOM数据全部导出并导入到PLM系统中

但是数据量有点庞大了,在数据库sum了下存bom的表,10w+行!!!

然鹅,最大的问题是的T100的BOM存到数据表中的格式是主件+元件的方式,完全看不到层次,跟PLM实施给的导入模版格式完全不同,要求层次关系如0,0.1,0.1.1.......对应不同料号,如下图

这个靠人手工去整理明显不太现实,只能现学现写搞出了这么个存储过程来批量处理

代码如下:

 -- 插表函数
 create or replace PROCEDURE ins_temp(l_cj      in varchar,
                                     l_liaohao in varchar,
                                     l_bmba011 in number,
                                     l_bmba012 in number,
                                     l_yjlx    in varchar,
                                     l_bmba013 in varchar,
                                     l_bmba031 in varchar,
                                     l_bmba030 in varchar,
                                     l_bmba029 in varchar,
                                     l_bmbb011 in number,
                                     l_bmbb009 in number,
                                     l_bmbb010 in number,
                                     l_riqi    in timestamp) as
BEGIN
  INSERT INTO temp_libinbin3
    (cj,
     liaohao,
     bmba011,
     bmba012,
     yjlx,
     bmba013,
     bmba031,
     bmba030,
     bmba029,
     bmbb011,
     bmbb009,
     bmbb010,
     riqi)
  values
    (l_cj,
     l_liaohao,
     l_bmba011,
     l_bmba012,
     l_yjlx,
     l_bmba013,
     l_bmba031,
     l_bmba030,
     l_bmba029,
     l_bmbb011,
     l_bmbb009,
     l_bmbb010,
     l_riqi); 
  --('0','test',0,0,'yjlx','bmba013','N','N','bmba029',0,0,0,sysdate)
  commit;
END;
         
--层次      物料编码    bom组成用量 bom主件底数    元件类型      必要  客供料 倒扣料 损耗率型态 变动损耗率 起始生产数量  截止生产数量
--物料名称 物料分类 规格  料件类别   生命周期状态  料件大类
-------------------------------------------------------------------------------------------- 
--检查是否有回料        
 create or replace PROCEDURE bmaa_sum(b_bmaa001 in varchar,l_sum OUT NUMBER)
         IS 
         l_num number;    
         BEGIN
           SELECT COALESCE(sum(1),0) into l_num FROM bmaa_t WHERE bmaa001 = b_bmaa001 AND bmaasite = 'YTOP';
           IF l_num >= 1 THEN 
             select  COALESCE(sum(1),0) into l_sum from bmac_t where bmac001 = b_bmaa001 and bmacsite = 'YTOP' AND bmac008 is null;
           END IF; 
         END;
--------------------------------------------------------------------------------------------- 
--损耗率取值
create or replace PROCEDURE get_bmbb(g_bmba001 in varchar,g_bmba003 in varchar,g_bmbb011 out number,g_bmbb009 out number,g_bmbb010 OUT NUMBER)
is 
  l_num number;
 begin 
   
     select  nvl(sum(1),0)  INTO l_num
       from bmbb_t
      where bmbbsite = 'YTOP'
        and bmbb001 = g_bmba001
        and bmbb003 = g_bmba003
        and rownum = 1
      order by bmbb009;
      
      IF l_num >=1  THEN
          select  bmbb011,bmbb009,bmbb010  INTO g_bmbb011,g_bmbb009,g_bmbb010
           from bmbb_t
           where bmbbsite = 'YTOP'
             and bmbb001 = g_bmba001
             and bmbb003 = g_bmba003
             and rownum = 1
             order by bmbb009;
       ELSE 
          g_bmbb011 := null;
          g_bmbb009 := null;
          g_bmbb010 := null;
       END IF;
   end;
---------------------------------------------------------------------------------------------
--main
    create or replace PROCEDURE bom_main(l_bmaa001 in varchar)
         AS 
         l_n  number;  
         l_n1 number;
         l_n2 number;
         l_n3 number;
         l_n4 number;
         l_n5 number;
         l_sum number;
         l_num number;
         m_bmbb011 number;
         m_bmbb009 number;
         m_bmbb010 number;
         BEGIN
           l_n := 0;
           SELECT COALESCE(sum(1),0) INTO l_n FROM bmba_t WHERE bmba003 = l_bmaa001 AND bmbasite = 'YTOP';
           IF l_n < 1 THEN
               --插入0阶
               --l_n := l_n+1;
               --ins_temp(l_cj => '0',l_liaohao => l_bmaa001);
               ins_temp(l_cj => '0',l_liaohao => l_bmaa001,l_bmba011 => null,l_bmba012=>null,l_yjlx=>null,
               l_bmba013 => null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);

               --1阶
                l_n := 0;
                for v_emp in (SELECT bmba001,bmba003,bmba011,bmba012,bmba013,bmba031,bmba030,bmba029 FROM bmba_t WHERE bmba001 = l_bmaa001 AND bmbasite = 'YTOP' and  bmba006 is null) loop
                      l_n  := l_n+1;
                       --ins_temp(l_cj => '0.'||l_n,l_zj => v_emp.bmba003);
                       --获取损耗数据
                      get_bmbb(g_bmba001=>v_emp.bmba001,g_bmba003 => v_emp.bmba003,g_bmbb011 => m_bmbb011,g_bmbb009 => m_bmbb009,g_bmbb010 => m_bmbb010);
                      
                     ins_temp(l_cj => '0.'||l_n,l_liaohao => v_emp.bmba003,l_bmba011 => v_emp.bmba011,l_bmba012=>v_emp.bmba012,l_yjlx=>'BOM元件',
                     l_bmba013 => v_emp.bmba013,l_bmba031 =>v_emp.bmba031,l_bmba030 =>v_emp.bmba030,l_bmba029 =>v_emp.bmba029,l_bmbb011=>m_bmbb011,l_bmbb009=>m_bmbb009,l_bmbb010=>m_bmbb010,l_riqi =>systimestamp);
                       l_n1 := 0;
                       --2阶
                       SELECT COALESCE(sum(1),0) into l_n1 FROM bmaa_t WHERE bmaa001 = v_emp.bmba003 AND bmaasite = 'YTOP';
                       IF l_n1 = 1 THEN 
                          l_n1 := 0;
                          for v_emp1 in (SELECT bmba001,bmba003,bmba011,bmba012,bmba013,bmba031,bmba030,bmba029 FROM bmba_t WHERE bmba001 = v_emp.bmba003 AND bmbasite = 'YTOP'and  bmba006 is null) loop
                             l_n1 := l_n1 +1;
                            --ins_temp(l_cj => '0.'||l_n||'.'||l_n1,l_zj => v_emp1.bmba003);
                            --获取损耗数据
                            get_bmbb(g_bmba001=>v_emp1.bmba001,g_bmba003 => v_emp1.bmba003,g_bmbb011 => m_bmbb011,g_bmbb009 => m_bmbb009,g_bmbb010 => m_bmbb010);
                      
                            ins_temp(l_cj => '0.'||l_n||'.'||l_n1,l_liaohao => v_emp1.bmba003,l_bmba011 => v_emp1.bmba011,l_bmba012=>v_emp1.bmba012,l_yjlx=>'BOM元件',
                            l_bmba013 => v_emp1.bmba013,l_bmba031 =>v_emp1.bmba031,l_bmba030 =>v_emp1.bmba030,l_bmba029 =>v_emp1.bmba029,l_bmbb011=>m_bmbb011,
                            l_bmbb009=>m_bmbb009,l_bmbb010=>m_bmbb010,l_riqi =>systimestamp);
                            --3阶
                             l_n2 := 0;
                             SELECT COALESCE(sum(1),0) into l_n2 FROM bmaa_t WHERE bmaa001 = v_emp1.bmba003 AND bmaasite = 'YTOP';
                             IF l_n2 = 1 THEN 
                                l_n2 := 0;
                                for v_emp2 in (SELECT bmba001,bmba003,bmba011,bmba012,bmba013,bmba031,bmba030,bmba029 FROM bmba_t WHERE bmba001 = v_emp1.bmba003 AND bmbasite = 'YTOP'and  bmba006 is null) loop
                                   l_n2 := l_n2 +1;
                                  --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2,l_zj => v_emp2.bmba003);
                                  --获取损耗数据
                                  get_bmbb(g_bmba001=>v_emp2.bmba001,g_bmba003 => v_emp2.bmba003,g_bmbb011 => m_bmbb011,g_bmbb009 => m_bmbb009,g_bmbb010 => m_bmbb010);
                      
                                  ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2,l_liaohao => v_emp2.bmba003,l_bmba011 => v_emp2.bmba011,l_bmba012=>v_emp2.bmba012,l_yjlx=>'BOM元件',
                                  l_bmba013 => v_emp2.bmba013,l_bmba031 =>v_emp2.bmba031,l_bmba030 =>v_emp2.bmba030,l_bmba029 =>v_emp2.bmba029,l_bmbb011=>m_bmbb011,
                                  l_bmbb009=>m_bmbb009,l_bmbb010=>m_bmbb010,l_riqi =>systimestamp);
                                  --4阶
                                    l_n3 := 0;
                                    SELECT COALESCE(sum(1),0) into l_n3 FROM bmaa_t WHERE bmaa001 = v_emp2.bmba003 AND bmaasite = 'YTOP';
                                     IF l_n3 = 1 THEN 
                                       l_n3 := 0;
                                       --4元件插表
                                       for v_emp3 in (SELECT bmba001,bmba003,bmba011,bmba012,bmba013,bmba031,bmba030,bmba029 FROM bmba_t WHERE bmba001 = v_emp2.bmba003 AND bmbasite = 'YTOP'and  bmba006 is null) loop
                                             l_n3 := l_n3 +1;
                                         --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3,l_zj => v_emp3.bmba003);
                                         --获取损耗数据
                                         get_bmbb(g_bmba001=>v_emp3.bmba001,g_bmba003 => v_emp3.bmba003,g_bmbb011 => m_bmbb011,g_bmbb009 => m_bmbb009,g_bmbb010 => m_bmbb010);
                      
                                         ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3,l_liaohao => v_emp3.bmba003,l_bmba011 => v_emp3.bmba011,l_bmba012=>v_emp3.bmba012,l_yjlx=>'BOM元件',
                                         l_bmba013 => v_emp3.bmba013,l_bmba031 =>v_emp3.bmba031,l_bmba030 =>v_emp3.bmba030,l_bmba029 =>v_emp3.bmba029,l_bmbb011=>m_bmbb011,
                                         l_bmbb009=>m_bmbb009,l_bmbb010=>m_bmbb010,l_riqi =>systimestamp);
                                            --5阶
                                            l_n4 := 0;
                                             SELECT COALESCE(sum(1),0) into l_n4 FROM bmaa_t WHERE bmaa001 = v_emp3.bmba003 AND bmaasite = 'YTOP';
                                                IF l_n4 = 1 THEN 
                                                   l_n4 := 0;
                                                 --5阶元件插表
                                                   for v_emp4 in (SELECT bmba001,bmba003,bmba011,bmba012,bmba013,bmba031,bmba030,bmba029 FROM bmba_t WHERE bmba001 = v_emp3.bmba003 AND bmbasite = 'YTOP'and  bmba006 is null) loop
                                                      l_n4 := l_n4 +1;
                                                     --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3||'.'||l_n4,l_zj => v_emp4.bmba003);
                                                     --获取损耗数据
                                                     get_bmbb(g_bmba001=>v_emp4.bmba001,g_bmba003 => v_emp4.bmba003,g_bmbb011 => m_bmbb011,g_bmbb009 => m_bmbb009,g_bmbb010 => m_bmbb010);
                      
                                                     ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3||'.'||l_n4,l_liaohao => v_emp4.bmba003,l_bmba011 => v_emp4.bmba011,l_bmba012=>v_emp4.bmba012,l_yjlx=>'BOM元件',
                                                     l_bmba013 => v_emp4.bmba013,l_bmba031 =>v_emp4.bmba031,l_bmba030 =>v_emp4.bmba030,l_bmba029 =>v_emp4.bmba029,l_bmbb011=>m_bmbb011,
                                                     l_bmbb009=>m_bmbb009,l_bmbb010=>m_bmbb010,l_riqi =>systimestamp);
                                                     --往下阶在检核一次,还有下阶的话插一行提示
                                                     l_n5 := 0;
                                                     SELECT COALESCE(sum(1),0) into l_n5 FROM bmaa_t WHERE bmaa001 = v_emp4.bmba003 AND bmaasite = 'YTOP';
                                                     IF l_n5 >= 1 THEN 
                                                        ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3||'.'||l_n4||'.'||'非尾阶!手动处理',l_liaohao => v_emp4.bmba003,l_bmba011 => null,l_bmba012=>null,l_yjlx=>null,
                                                        l_bmba013 => null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                                                     END IF;
                                                     
                                                   END loop;
                                                 --5阶回料插表
                                                   bmaa_sum(b_bmaa001 => v_emp3.bmba003,l_sum => l_sum);
                                                  IF  l_sum >= 1 THEN 
                                                  for v_emp4a in (select bmac003,bmac005,bmac006 from bmac_t where bmac001 = v_emp3.bmba003 and bmacsite = 'YTOP' AND bmac008 is null) loop
                                                   l_n4 := l_n4 +1;
                                                   --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3||'.'||l_n4,l_zj => v_emp4a.bmac003);
                                                  
                                                   ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3||'.'||l_n4,l_liaohao => v_emp4a.bmac003,l_bmba011 => v_emp4a.bmac005,l_bmba012=>v_emp4a.bmac006,l_yjlx=>'副产品',
                                                     l_bmba013 =>null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                                                  END loop;
                                                 end if;
                                             END IF;
                                          
                                       END loop;
                                       --4回料插表
                                       bmaa_sum(b_bmaa001 => v_emp2.bmba003,l_sum => l_sum);
                                       IF  l_sum >= 1 THEN 
                                         for v_emp3a in (select bmac003,bmac005,bmac006 from bmac_t where bmac001 = v_emp2.bmba003 and bmacsite = 'YTOP' AND bmac008 is null) loop
                                             l_n3 := l_n3 +1;
                                             --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3,l_zj => v_emp3a.bmac003);
                                             ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2||'.'||l_n3,l_liaohao => v_emp3a.bmac003,l_bmba011 => v_emp3a.bmac005,l_bmba012=>v_emp3a.bmac006,l_yjlx=>'副产品',
                                             l_bmba013 =>null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                                         END loop;
                                       end if;
                                     END IF;
                                   
                                    
                                END loop;
                              --3回料插表
                              bmaa_sum(b_bmaa001 => v_emp1.bmba003,l_sum => l_sum);
                              IF  l_sum >= 1 THEN 
                                for v_emp2a in (select bmac003,bmac005,bmac006 from bmac_t where bmac001 = v_emp1.bmba003 and bmacsite = 'YTOP' AND bmac008 is null) loop
                                l_n2 := l_n2 +1;
                                --ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2,l_zj => v_emp2a.bmac003);
                                ins_temp(l_cj => '0.'||l_n||'.'||l_n1||'.'||l_n2,l_liaohao => v_emp2a.bmac003,l_bmba011 => v_emp2a.bmac005,l_bmba012=>v_emp2a.bmac006,l_yjlx=>'副产品',
                                l_bmba013 =>null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                                END loop;
                              end if; 
                             END IF;
                             
                          END loop;
                          --2回料插表
                          bmaa_sum(b_bmaa001 => v_emp.bmba003,l_sum => l_sum);
                          IF  l_sum >= 1 THEN 
                              for v_emp1a in (select bmac003,bmac005,bmac006 from bmac_t where bmac001 = v_emp.bmba003 and bmacsite = 'YTOP' AND bmac008 is null) loop
                                l_n1 := l_n1 +1;
                                --ins_temp(l_cj => '0.'||l_n||'.'||l_n1,l_zj => v_emp1a.bmac003);
                                ins_temp(l_cj => '0.'||l_n||'.'||l_n1,l_liaohao => v_emp1a.bmac003,l_bmba011 => v_emp1a.bmac005,l_bmba012=>v_emp1a.bmac006,l_yjlx=>'副产品',
                                l_bmba013 =>null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                              END loop;
                          end if; 
                       END IF;
                         
               end loop;
             --1回料插表
             bmaa_sum(b_bmaa001 => l_bmaa001,l_sum => l_sum);
             IF  l_sum >= 1 THEN 
                for v_emp0a in (select bmac003,bmac005,bmac006 from bmac_t where bmac001 = l_bmaa001 and bmacsite = 'YTOP' AND bmac008 is null) loop
                   l_n := l_n +1;
                   --ins_temp(l_cj => '0.'||l_n,l_zj => v_emp0a.bmac003);
                   ins_temp(l_cj => '0.'||l_n,l_liaohao => v_emp0a.bmac003,l_bmba011 => v_emp0a.bmac005,l_bmba012=>v_emp0a.bmac006,l_yjlx=>'副产品',
                   l_bmba013 =>null,l_bmba031 =>null,l_bmba030 =>null,l_bmba029 =>null,l_bmbb011=>null,l_bmbb009=>null,l_bmbb010=>null,l_riqi =>systimestamp);
                END loop;
             end if;   
           END IF;
          -- commit;
         END;
-----------------------------------------------------------------------------------------------
        --执行
        declare
          l_num number;
        BEGIN

          FOR  v_run in (select bmaa001 from bmaa_t where bmaasite = 'YTOP' and  bmaa001 NOT LIKE 'JXT%') loop
               select COALESCE(sum(1),0)  INTO l_num from imaa_t where imaaent = 88 and  imaa001 = v_run.bmaa001;
               IF l_num >= 1 THEN 
                bom_main(l_bmaa001 => v_run.bmaa001);
               END IF;
          END loop;
         END;
 --------------------------------------------------------------------------------------------测试单个BOM
       begin 
         -- bom_main(l_bmaa001 => '206-6FE21LHA02');
         bom_main(l_bmaa001 => '106100050006');
         end;
 
------------------------------------


         select cj as 层级,imaa009 as 产品分类,liaohao as 料号,imaal003 as 品名,imaal004 as 规格,imaa006 as 基本单位,imaa004 as 料件类别,
          imaa010 as 生命周期状态,imaaud005 as 料件大类,bmba011 as 组成用量,bmba012 as 主件底数,
          yjlx as 元件类型,bmba013 as 主要,bmba031 as 客供料,bmba030 as 倒扣料,bmba029 as 损耗率型态,bmbb011 as 变动损耗率,
          bmbb009 as 起始生产数量,bmbb010 as 截止生产数量,riqi as 插表时间
          from temp_libinbin3 
          left join imaal_t on imaalent = 88 and imaal001 = liaohao and imaal002 = 'zh_CN'
          left join imaa_t on imaaent = 88 and imaa001 = liaohao
          order by riqi
     
     --select * from temp_libinbin3 order by riqi 
         
        --清空临时表
         call cle_temp();           
----------------------------------------
--清除表数据        
create or replace PROCEDURE cle_temp
 is 
 begin   
        delete from temp_libinbin3;
        commit;
 end;
------------------------------------------
drop table temp_libinbin3
create global temporary table temp_libinbin3
(cj varchar2(40),liaohao varchar2(40),
bmba011 number(20,6),bmba012 number(20,6),yjlx varchar(20),
bmba013 varchar2(10),bmba031 varchar2(1),bmba030 varchar2(1),bmba029 varchar2(10),
bmbb011 number(20,6),bmbb009 number(20,6),bmbb010 number(20,6)
) 
on commit preserve rows;

create global temporary table temp_libinbin3
(cj varchar2(40),liaohao varchar2(40),   date
) 
on commit preserve rows;

ALTER TABLE temp_libinbin3 ADD (riqi DATE)

ALTER TABLE temp_libinbin3 modify (riqi timestamp)


select systimestamp from dual





由于不会写递归- -!,代码比较冗余,只能处理6阶左右的BOM

效果实现:

第一章 采购管理操作手册 5 一、ZY_APM001 料件采购资料维护作业说明 6 二、ZY_APM002 供应商基本资料维护作业说明 8 三、ZY_APM003 采购料件核价维护作业说明 10 四、ZY_APM004 请购单维护作业说明 11 五、ZY_APM005 请购单结案与开启作业说明 12 六、ZY_APM006 请购转采购维护作业说明 14 七、ZY_APM007 采购单维护作业说明 18 八、ZY_APM008 采购单变更维护作业说明 22 九、ZY_APM009 采购单结案与反结案维护作业说明 23 十、ZY_APM010 委外采购维护作业说明 25 十一、ZY_APM011 采购收货维护作业说明 26 十二、ZY_APM012 委外采购收货维护作业说明 30 十三、ZY_APM013 采购入库维护作业说明 30 十四、ZY_APM014 委外采购入库维护作业说明 33 十五、ZY_APM015 采购验退维护作业说明 34 十六、ZY_APM016 采购仓退维护作业说明 34 十七、ZY_APM017 入库/退库发票维护作业说明 35 十八、ZY_APM018 入库未收发票暂估维护作业说明 38 十九、ZY_APM019 现场采购作业说明 40 二十、ZY_APM020 直发现场作业说明 42 第二章 销售管理操作手册 44 一、ZY_AXM001 料件销售资料维护作业说明 45 二、ZY_AXM002 客户资料建档作业说明 47 三、ZY_AXM003 合同资料建档作业说明 51 四、ZY_AXM004 一般订单录入作业说明 54 五、ZY_AXM005 订单留置作业说明 55 六、ZY_AXM006 订单变更作业说明 56 七、ZY_AXM007 订单结案作业说明 57 八、ZY_AXM008 出货单维护作业说明 58 九、ZY_AXM009 出货签收单维护作业说明 59 十、ZY_AXM010 销退单维护作业说明 60 第三章 项目管理操作手册 62 一、ZY_APJ001 项目基本资料维护作业说明 63 二、ZY_APJ002 WBS阶段维护作业说明 65 三、ZY_APJ003 项目物料清单维护作业说明 67 四、ZY_APJ004 WBS阶段需求维护作业说明 69 五、ZY_APJ005 WBS阶段需求抛转请购作业说明 71 六、ZY_APJ006 WBS阶段需求抛转MPS作业说明 72 七、ZY_APJ007 项目物料跟踪查询作业说明 73 八、ZY_APJ008 项目领料计划查询作业说明 74 九、ZY_APJ009 项目发票维护作业说明 82 十、ZY_APJ010 项目费用维护作业说明 83 十一、ZY_APJ011 项目签证变更维护作业说明 91 第四章 库存管理操作手册 93 一、ZY_AIM001库存杂项出库(领料)作业说明 94 二、ZY_AIM002 工程项目领料作业说明 95 三、ZY_AIM003 库存杂项入库(退料)作业说明 96 四、ZY_AIM004 工程项目退料作业说明 97 五、ZY_AIM005 库存杂项报废作业说明 98 六、ZY_AIM006仓库间直接调拨作业说明 99 七、ZY_AIM007 WIP仓盘点作业说明 100 八、ZY_AIM008 库存账月结作业说明 103 九、ZY_AIM009 定期库存盘点作业说明 107 十、ZY_AIM010 定期在制盘点作业说明 120 十一、ZY_AIM011 WIP仓杂项出库(领料)作业说明 125 十二、ZY_AIM012 WIP仓杂项入库(退料)作业说明 126 十三、ZY_AIM013 WIP仓杂项报废作业说明 128 第五章 料件BOM管理操作手册 131 一、ZY_ABM001 新料号编号作业说明 132 二、ZY_ABM003 BOM维护作业说明 135 三、ZY_ABM004 ECR-ECN作业说明 137 四、ZY_ABM005 E-BOM作业说明 142 五、ZY_ABM006 取替代作业说明 146 第六章 生产制造管理操作手册 149 一、ZY_ASF001 料件生管资料维护作业说明 150 二、ZY_ASF002预投作业说明 151 三、ZY_ASF003 一般工单开立与发放作业说明 156 四、ZY_ASF004 折件式工单开立与发放作业说明 166 五、ZY_ASF005 委外工单开立与发放作业说明 166 六、ZY_ASF006 工单变更作业说明 167 七、ZY_ASF007 工单结案与取消结案作业说明 168 八、ZY_ASF008 工单发料作业说明 172 九、ZY_ASF009 工单退料作业说明 178 十、ZY_ASF010 完工入库作业说明 183 十一、ZY_ASF011 折件式工单完工入库作业说明 184 十二、ZY_ASF012 工单下阶料报废作业说明 186 第七章 财务管理操作手册 187 一、ZY_AGL001 一般凭证维护作业说明 188 二、ZY_AGL002总帐结帐作业说明 189 三、ZY_AXR001应收帐款立账作业说明 189 四、ZY_AXR002杂项应收帐款作业说明 193 五、ZY_AXR003、ZY_AXR004收款冲账作业说明 195 六、ZY_AXR005销退折让立账作业说明 200 七、ZY_AXR006应收帐款管理结帐作业说明 202 八、ZY_AAP001预付请款作业说明 204 九、ZY_AAP002应付请款作业说明 206 十、ZY_AAP003杂项请款作业说明 212 十一、ZY_AAP004采购退货折让作业说明 214 十二、ZY_AAP005厂商DM款项作业说明 220 十三、ZY_AAP006付款冲账作业说明 221 十四、ZY_AAP007暂估应付立账作业说明 226 十五、ZY_AAP008采购成本分摊作业说明 229 十六、ZY_AAP009应付帐款结帐作业说明 233 十六、ZY_AAP010采购退货暂估作业说明 234 十七、ZY_AFA001固定资产取得作业说明 237 十八、ZY_AFA002固定资产转移作业说明 239 十九、ZY_AFA003固定资产折旧作业说明 240 二十、ZY_AFA004固定资产调整作业说明 244 二十一、ZY_AFA005固定资产月结作业说明 246 二十二、ZY_ANM002应付票据作业说明 247 二十三、ZY_ANM002应收票据作业说明 252 二十四、ZY_ANM003银行存款作业说明 255
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值