工艺路线清单

简介: *&---------------------------------------------------------------------**& Report  ZCA03_LIST*&*&----------------------------------...

*&---------------------------------------------------------------------*
*& Report  ZCA03_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZCA03_LIST.
type-pools : slis.
types: slis_t_fieldcat_alv type slis_fieldcat_alv occurs 1.
data : g_events_t type slis_t_event,
       g_fieldcat_t type slis_t_fieldcat_alv.
data : g_layout_s type slis_layout_alv.
data: l_fieldcat_s type slis_fieldcat_alv.
define __field_tab.
  l_fieldcat_s-seltext_l = &1.
  l_fieldcat_s-seltext_m = &1.
  l_fieldcat_s-seltext_s = &1.
  l_fieldcat_s-ddictxt = ' '.
end-of-definition.

tables: mapl,makt,plko,plpo,crtx,crhd,plpod.
data: begin of itab occurs 0,
      matnr type mapl-matnr,"料号
      maktx type makt-maktx,"物料描述
      delkz type plko-delkz,"删除标记
      werks type plko-werks,"工厂
      vornr type plpo-vornr,"工序
      arbid type plpo-arbid,"OBJECTID
      arbpl type crhd-arbpl,"工作中心
      ktext type crtx-ktext,
"工作中心描述(CRHD-ARBPL找到OBJID,通过OBJID和CRTX关联再找到工作中心描述
")
      ktsch type plpo-ktsch,"标准文本
      vgw01  type plpo-vgw01,"准备时间
      vgw02 type plpo-vgw02,"机器时间
      vgw03 type plpo-vgw03,"工时
       vgw04 type plpo-vgw04,"工时

      splim type plpo-splim,"分解数
      andat type mapl-andat,"创建时间
      aedat type plko-aedat,"最后更改时间
      plnnr type mapl-plnnr,"组
      end of itab.


selection-screen begin of block b1 with frame. title text-001.
select-options w_matnr for mapl-matnr.
select-options w_werks for mapl-werks.
selection-screen end of block b1.

selection-screen begin of block b2 with frame. title text-002.
select-options w_arbpl for plpod-arbpl.
selection-screen end of block b2.

selection-screen begin of block b3 with frame. title text-003.
select-options w_andat for mapl-andat.
select-options w_aedat for mapl-aedat.
selection-screen end of block b3.

 


initialization.
  perform. layout_init    using g_layout_s.    "ALV GRID LAYOUT
  perform. eventtab_build using g_events_t[].  "ALV GRID EVENT

start-of-selection.

  if not ( w_matnr is initial ) and not ( w_arbpl is initial ).
    message '同时只能选一个查询' type 'E'.
    leave program.
  endif.

  if not ( w_matnr is initial ) and (  ( not  w_andat is initial ) or  (
  not  w_aedat is initial ) ).
    message '同时只能选一个查询' type 'E'.
    leave program.
  endif.

  if not ( w_arbpl is initial ) and (  ( not  w_andat is initial ) or  (
  not  w_aedat is initial ) ).
    message '同时只能选一个查询' type 'E'.
    leave program.
  endif.

perform. get_data.
  if sy-subrc = 0.
    perform. displaycatalog_merge using g_fieldcat_t[] 'ITAB'.
    perform. alv_display tables itab[].
*    leave to screen 100.
  else.
    write: 'NO DATA'.
  endif.

 

form. get_data.
  data: i_crhd like  crhd occurs 0.
  if not ( w_matnr is initial ) or w_werks is not initial.
    select mapl~matnr makt~maktx plko~delkz plko~werks plpo~vornr
    plpo~arbid crhd~arbpl crtx~ktext plpo~ktsch plpo~vgw01 plpo~vgw02 plpo~vgw03 plpo~vgw04
           plpo~splim mapl~andat plko~aedat mapl~plnnr
           into  corresponding fields of table itab
      from mapl inner join plko "任务清单 - 表头
      on mapl~plnnr = plko~plnnr and mapl~zaehl = plko~zaehl AND mapl~werks = plko~werks
                inner join plpo "任务清单 - 工序/作业
                on mapl~plnnr = plpo~plnnr "AND mapl~zaehl = plpo~zaehl
                inner join crhd "工作中心表头
                on plpo~arbid = crhd~objid
                inner join crtx "工作中心或生产资源/工具文本
                on plpo~arbid = crtx~objid
                inner join makt on mapl~matnr = makt~matnr and makt~spras = sy-langu
     where mapl~matnr in w_matnr and mapl~werks in w_werks and  mapl~loEKZ eq space
      .
    exit.
  endif.

  if not ( w_arbpl is initial ).
*根据工作中心线获取PLPO~ARBID.
    select objid into corresponding fields of table i_crhd
    from crhd where arbpl in w_arbpl.

    if lines( i_crhd[] ) > 0 .
      select mapl~matnr makt~maktx
      plpo~splim
      plko~delkz plko~werks plpo~vornr
plpo~arbid crhd~arbpl crtx~ktext plpo~ktsch
      plpo~vgw01 plpo~vgw02 plpo~vgw03 plpo~vgw04 mapl~andat plko~aedat mapl~plnnr
      into  corresponding fields of table itab
      from plpo
      inner join plko on plpo~plnnr = plko~plnnr
    "  AND plpo~zaehl = plko~zaehl
      inner join mapl on plpo~plnnr = mapl~plnnr
      and mapl~zaehl = plpo~zaehl
      inner join crhd on plpo~arbid = crhd~objid
      inner join crtx on plpo~arbid = crtx~objid
      inner join makt on mapl~matnr = makt~matnr and makt~spras =
      sy-langu
      for all entries in i_crhd where plpo~arbid = i_crhd-objid  and mapl~werks in w_WERKS and mapl~LOEKZ eq space
      .
    endif.
    exit.
  endif.
  if ( not  w_andat is initial ) or  ( not  w_aedat is initial ).
    select mapl~matnr makt~maktx
plpo~splim
    plko~delkz plko~werks plpo~vornr
plpo~arbid crhd~arbpl crtx~ktext plpo~ktsch
      plpo~vgw01 plpo~vgw02 plpo~vgw03 plpo~vgw04 mapl~andat plko~aedat mapl~plnnr
      into  corresponding fields of table itab
      from mapl inner join plko on mapl~plnnr = plko~plnnr
    "  AND   mapl~zaehl = plko~zaehl
      inner join plpo on mapl~plnnr = plpo~plnnr
      and mapl~zaehl = plpo~zaehl
      inner join crhd on plpo~arbid = crhd~objid
      inner join crtx on plpo~arbid = crtx~objid
      inner join makt on mapl~matnr = makt~matnr and makt~spras =
      sy-langu
      where  mapl~werks in w_werks and mapl~andat in w_andat and  plko~aedat IN w_aedat and mapl~LOEKZ eq space
      .

    exit.
  endif.
endform.                    "GET_DATA


  form. displaycatalog_merge using p_g_fieldcat_t
                                type slis_t_fieldcat_alv
                                p_tabname.
  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'MATNR'.
  l_fieldcat_s-no_zero = 'X'.
  l_fieldcat_s-seltext_m = '料号'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'MAKTX'.
  l_fieldcat_s-seltext_m = '物料描述'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'WERKS'.
  l_fieldcat_s-seltext_m = '工厂'.
  append l_fieldcat_s to p_g_fieldcat_t.

 

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'VORNR'.
  l_fieldcat_s-seltext_m = '工序'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'KTSCH'.
  l_fieldcat_s-seltext_m = '标准文本码'.
*    l_fieldcat_s-outputlen = 20.
  append l_fieldcat_s to p_g_fieldcat_t.


  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'ARBPL'.
  l_fieldcat_s-seltext_m = '工作中心'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'KTEXT'.
  l_fieldcat_s-seltext_m = '工作中心描述'.
*    l_fieldcat_s-outputlen = 20.
  append l_fieldcat_s to p_g_fieldcat_t.

 

 


  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'VGW01'.
  l_fieldcat_s-seltext_m = '准备时间'.
  append l_fieldcat_s to p_g_fieldcat_t.


  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'VGW02'.
  l_fieldcat_s-seltext_m = '机器时间'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'VGW03'.
  l_fieldcat_s-seltext_m = '工时'.
  append l_fieldcat_s to p_g_fieldcat_t.


  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'VGW04'.
  l_fieldcat_s-seltext_m = '产能'.
  append l_fieldcat_s to p_g_fieldcat_t.


*  CLEAR l_fieldcat_s.
*  l_fieldcat_s-fieldname = 'SPLIM'.
*  l_fieldcat_s-seltext_m = '分解数'.
*
*  APPEND l_fieldcat_s TO p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'ANDAT'.
  l_fieldcat_s-seltext_m = '创建时间'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'AEDAT'.
  l_fieldcat_s-seltext_m = '最后更改时间'.
  append l_fieldcat_s to p_g_fieldcat_t.


  clear l_fieldcat_s.
  l_fieldcat_s-fieldname = 'PLNNR'.
  l_fieldcat_s-seltext_m = '组'.
  append l_fieldcat_s to p_g_fieldcat_t.

 

endform.  " FIELDCATALOG_MERGE
*&--------------------------------------------------------------------*
*&      Form  LAYOUT_INIT
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->P_G_LAYOUT_text
*---------------------------------------------------------------------*
form. layout_init using p_g_layout_s type slis_layout_alv.
** Build layout for list display
  p_g_layout_s-detail_popup = 'X'.
  p_g_layout_s-colwidth_optimize = 'X'.
*  p_g_layout_s-no_vline = 'X'.

endform.  " LAYOUT_INIT
*--------------------------------------------------------------------
*       FORM. EVENTTAB_BUILD
*--------------------------------------------------------------------
form. eventtab_build using  p_g_events_t  type slis_t_event.
** Registration of events to happen during list display
  data: l_event type slis_alv_event.
  call function 'REUSE_ALV_EVENTS_GET'
    exporting
      i_list_type = 0
    importing
      et_events   = p_g_events_t.
* GUI STATUS
  read table p_g_events_t with key name = slis_ev_pf_status_set
                          into l_event.
  if sy-subrc eq 0.
    move 'PF_STATUS_SET' to l_event-form.
    append l_event      to p_g_events_t.
  endif.
endform.  " EVENTTAB_BUILD
*--------------------------------------------------------------------
*       FORM. ALV_DISPLAY
*--------------------------------------------------------------------
form. alv_display tables p_int_t.
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      i_callback_program = 'ZPP_R_012' "G_REPID
      is_layout          = g_layout_s
      it_fieldcat        = g_fieldcat_t[]
      i_save             = 'A'
    tables
      t_outtab           = p_int_t
    exceptions
      program_error      = 1
      others             = 2.
endform.  " ALV_DISPLAY

目录
相关文章
|
6月前
|
监控 供应链 物联网
ERP系统中的在制品管理与工艺路线规划
ERP系统中的在制品管理与工艺路线规划
198 2
|
6月前
|
机器人 图形学
现代制造之3D打印技术进行零件加工
现代制造之3D打印技术进行零件加工
46 0
|
11月前
求供应工程J1零件的供应商号码SNO 2 求供应工程J1零件P1的供应商号码SNO 3 求供应工程J1零件为红色的供应商号码SNO 4 求没有使用天津供应商生产的红色零件的工程号JNO 5 找出所有供
求供应工程J1零件的供应商号码SNO 2 求供应工程J1零件P1的供应商号码SNO 3 求供应工程J1零件为红色的供应商号码SNO 4 求没有使用天津供应商生产的红色零件的工程号JNO 5 找出所有供
123 0
|
算法 测试技术 人机交互
智能硬件如何自测声学部分是否符合量产条件
智能硬件如何自己就能开展声学自测工作。
81 0
|
数据库
太阳能路灯电路板的根本结构及作业原理
太阳能路灯的应用具有重要的现实意义,尤其是靠小规模火力发电或季节性水力发电的地区,更应大力发展太阳能电力。太阳能路灯以其先进、稳定、智能、成熟的控制技术及显著的节能特性、简便的维护方式等特点得到推广。随着太阳能照明灯具产品的普及,很多应用项目存在质量和售后服务问题。因此,需及时分析原因、规范市场,使太阳能路灯市场健康有序地发展。太阳能是地球上最为直接、普遍、清洁的能源,其作为一种可再生能源,每天达到地球表面的辐射能量约2.5亿万桶石油。
太阳能路灯电路板的根本结构及作业原理
太阳能路灯电路板的设计思路与要点
  太阳能光伏发电系统的基本原理相同,因而太阳能路灯的设计思路也可以依据一般的太阳能发电系统,先确定光源的功率,每天的工作时间,保证几个阴雨天然后计算蓄电池的容量和太阳电池组件的功率。但太阳能路灯又有其特殊性,需要确保系统工作的稳定与可靠,所以在设计时需要特别注意。
太阳能路灯电路板的设计思路与要点
|
传感器 芯片
电子设计大赛简易自动入库小车设计
电子设计大赛简易自动入库小车设计
158 0
电子设计大赛简易自动入库小车设计
|
人工智能 监控 安全
600人车间引入机器人只用60人,未来工厂大量裁员工人何去何从?
未来工厂机器人取代人类已成定局,以后工人的出路在哪里? 未来工厂是什么样的?一种说法是,具备互联、有序并且能够实现远程自我优化等特性,包括生产线上各种机床、刀具和系统都能提供相应的数据。 另一个说法也就是物联网,即车间所有设备都是智能化的,数据也是生产制造的必要“原材料”。在这一点上,我们现在已经能够看到一些云计算厂商及大数据厂商,与一些制造厂家进行合作,并产生了“工业大脑”这样的行业应用方案。
349 0
600人车间引入机器人只用60人,未来工厂大量裁员工人何去何从?
|
机器人
日本优衣库采用Mujin机器人打包服装,工厂接近完全自动化
日本时装巨头优衣库(Uniqlo)与工业机器人创业公司牧今(Mujin)合作,接近完成工厂全线生产流程的自动化改造。
日本优衣库采用Mujin机器人打包服装,工厂接近完全自动化
|
安全 新能源
拜腾与博世将在动力系统、驾驶员辅助等方面展开重点合作
双方拟建立平台以在品牌推广、产品营销等方面深入合作。
306 0