SAP PLAS PLPO PLKO

93 篇文章 13 订阅
26 篇文章 2 订阅
plas ON ( plas~plnty = mapl~plnty AND
                   plas~plnnr = mapl~plnnr AND
                   plas~plnal = mapl~plnal AND
                   plas~loekz EQ space )
    JOIN plpo ON ( plpo~plnty = plas~plnty AND
                   plpo~plnnr = plas~plnnr AND
                   plpo~plnkn = plas~plnkn AND
                   plpo~zaehl = plas~zaehl )
    JOIN PLKO ON ( PLKO~PLNTY = PLAS~PLNTY AND
                  PLKO~PLNNR = PLAS~PLNNR AND
                  PLKO~PLNAL  = PLAS~plnaL  )

工艺路线报表代码  zpphz

*&---------------------------------------------------------------------*
*& Report  ZRPT_PP_HUIZONG                                             *
*&                                                                     *
*&---------------------------------------------------------------------*
*& 生产版本、工艺路线汇总报表                                          *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  zrpt_pp_huizong                         .
TYPE-POOLS:slis.
TABLES:mkal,mapl,plko,plpo,mkal_aend,makt,crhd,mara,plas.

TYPES:BEGIN OF t_scbb,
       matnr LIKE mkal-matnr,"物料号
       maktx LIKE makt-maktx,"物料描述
       prdat LIKE mkal-prdat,"检查日期
       plnnr LIKE mkal-plnnr,"组
       alnal LIKE mkal-alnal,"组计数器
       stlal LIKE mkal-stlal,"可选的BOM
       stlan LIKE mkal-stlan,"BOM用途
       serkz LIKE mkal-serkz,"允许REM
       mdv01 LIKE mkal-mdv01,"生产线
       verid LIKE mkal-verid,"生产版本
       elpro LIKE mkal-elpro,"发货仓储地
       alort LIKE mkal-alort,"接受仓储地
       prfg_f LIKE mkal-prfg_f,"检查状态
       prfg_s LIKE mkal-prfg_s,"BOM检查状态
       annam LIKE mkal_aend-annam,"创建人
       mtart LIKE mara-mtart,
       matkl LIKE mara-matkl,
       sign TYPE icon_d,"生产版本预警标志
       sign1 TYPE icon_d,"BOM预警标志
      END OF t_scbb,
      BEGIN OF t_gylx,
       matnr LIKE mapl-matnr,"物料号
       werks LIKE mapl-werks,"工厂
       annam LIKE mapl-annam,"创建人
       maktx LIKE makt-maktx,"物料描述
       plnty LIKE mapl-plnty,"N 路线
       plnnr LIKE mapl-plnnr,"组
       plnal LIKE mapl-plnal,"组计数器
       arbpl LIKE crhd-arbpl,"工作中心
       ktext LIKE crtx-ktext,"工作中心文本
       andat LIKE plpo-andat,"创建日期
       vornr LIKE plpo-vornr,"工序
       steus LIKE plpo-steus,"控制码
       KTSCH like plpo-KTSCH,"
       ltxa1 LIKE plpo-ltxa1,"工序描述
       bmsch LIKE plpo-bmsch,"基本数量
       vgw01 LIKE plpo-vgw01,"直接人工
       vgw02 LIKE plpo-vgw02,"折旧
       vgw03 LIKE plpo-vgw03,"机物料
       vgw04 LIKE plpo-vgw04,"制造人工
       vgw05 LIKE plpo-vgw05,"其它费用
       mtart LIKE mara-mtart,
       matkl LIKE mara-matkl,
       bukrs LIKE plpo-bukrs,  "公司代码
       plnkn LIKE plpo-plnkn,  "任务清单节点数
       zaehl LIKE plpo-zaehl,  "内部计数器
       PLNNR_ALT like PLKO-PLNNR_ALT,"旧清单号
       vge01 TYPE plpo-vge01,  "计量单位     @added by handcsh at 20181123
      END OF t_gylx.
DATA:scbb TYPE TABLE OF t_scbb WITH HEADER LINE,
     gylx TYPE TABLE OF t_gylx WITH HEADER LINE.

DATA:STDATUM LIKE SY-DATUM,
      STUZEIT LIKE SY-UZEIT.


SELECTION-SCREEN BEGIN OF BLOCK bok WITH FRAME TITLE tit001.
SELECT-OPTIONS:
*  WERKS FOR MKAL-WERKS DEFAULT '1000' NO INTERVALS NO-EXTENSION,
  werks FOR mkal-werks DEFAULT '1000' OBLIGATORY,     "@changed by handchs at 20190129
  matnr FOR mkal-matnr,
  mtart FOR mara-mtart,
  matkl FOR mara-matkl,
  adatu FOR mkal-adatu ."DEFAULT sy-datum.
PARAMETER: r1 RADIOBUTTON GROUP rad1 DEFAULT 'X',"生产版本
           r2 RADIOBUTTON GROUP rad1."工艺路线

SELECTION-SCREEN END OF BLOCK bok.

INITIALIZATION.
  tit001 = '请输入选择条件'.

START-OF-SELECTION.

END-OF-SELECTION.

  STDATUM = SY-DATUM.
  STUZEIT = SY-UZEIT.


  IF r1 EQ 'X'."生产版本
*    WRITE: 'r1 is checked'.
    PERFORM getscbb.
    PERFORM WRITERPTRUNRECORD.
    PERFORM display.
  ELSEIF r2 EQ 'X'.
*    WRITE: 'r2 is checked'.
    PERFORM getgylx.
    PERFORM WRITERPTRUNRECORD.
    PERFORM disalv.

    PERFORM SAVE2BPC.
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  WRITERPTRUNRECORD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM WRITERPTRUNRECORD.
  DATA:l_werks LIKE t001w OCCURS 0 WITH HEADER LINE.

  SELECT * INTO TABLE l_werks
  FROM t001w
  WHERE werks IN  werks.
  LOOP AT l_werks.
    GET TIME.
    CALL FUNCTION 'ZSYS_RPT_RUNRECORD'
      EXPORTING
        TCODE     = SY-TCODE
        PROGRAMM  = SY-CPROG
                "bukrs = bukrs
        werks     = l_werks-werks
        DATUMRST  = STDATUM
        UZEITRST  = STUZEIT
        BATCH     = SY-BATCH
        DATUMREND = SY-datum
        UZEITREND = sy-UZEIT
        DATUMC    = '20070823'
        RUNNER    = SY-UNAME
        RPTSRC    = 'PP'.
  ENDLOOP.
ENDFORM.                    "WRITERPTRUNRECORD

*&---------------------------------------------------------------------*
*&      Form  getscbb
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM getscbb .
  FIELD-SYMBOLS:<scbb> TYPE t_scbb.
  SELECT
       mkal~matnr"物料号
       makt~maktx"物料描述
       mkal~prdat"检查日期
       mkal~plnnr"组
       mkal~alnal"组计数器
       mkal~stlal"可选的BOM
       mkal~stlan"BOM用途
       mkal~serkz"允许REM
       mkal~mdv01"生产线
       mkal~verid"版本号
       mkal~elpro"发货仓储地
       mkal~alort"发货仓储地
       mkal~prfg_f"检查状态
       mkal~prfg_s"BOM检查状态
       mkal_aend~annam"创建人
       mara~mtart
       mara~matkl
     INTO TABLE scbb
    FROM mkal
    JOIN makt ON ( mkal~matnr = makt~matnr AND makt~spras = '1' )
    JOIN mkal_aend ON ( mkal~matnr = mkal_aend~matnr AND
                        mkal~werks = mkal_aend~werks AND
                        mkal~verid = mkal_aend~verid AND
                        mkal_aend~vbkz = 'I' ) "I:插入 U:更新 D:删除
    JOIN mara ON ( mkal~matnr = mara~matnr )
    WHERE mkal~matnr IN matnr AND
          mkal~prdat IN adatu AND
          mkal~werks IN werks AND
          mara~mtart IN mtart AND
          mara~matkl IN matkl AND
          mara~lvorm EQ space
    ORDER BY mkal~matnr
    .
  LOOP AT scbb ASSIGNING <scbb>.
    IF <scbb>-prfg_f = '3' OR <scbb>-prfg_f = '2'."检查有error或有waring
      <scbb>-sign = '@0A@'.
    ELSEIF <scbb>-prfg_f = '1'."检查OK
      <scbb>-sign = '@08@'.
    ELSE."没有进行检查
      <scbb>-sign = '@09@'.
    ENDIF.
    IF <scbb>-prfg_s = '3' OR <scbb>-prfg_s = '2'.
      <scbb>-sign1 = '@0A@'.
    ELSEIF <scbb>-prfg_s = '1'.
      <scbb>-sign1 = '@08@'.
    ELSE.
      <scbb>-sign1 = '@09@'.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " getscbb
*&---------------------------------------------------------------------*
*&      Form  SAVE2BPC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SAVE2BPC.
*=================================
  IF SY-UNAME = 'BW'.
    DATA: BPCTB LIKE TABLE OF ZBPC_ZPPHZ WITH HEADER LINE.
*   DELETE FROM ZBPC_ZPPHZ .     " @ADDED BY HANDCSH AT 20190129
    UPDATE ZBPC_ZPPHZ SET
                SYDAT = SY-DATUM
                SYZET = SY-UZEIT
                SYNAM  = SY-UNAME
                VGW01 = 0 VGW02 = 0
                VGW03 = 0 VGW04 = 0
                VGW05 = 0 PLNKN = 0
                BMSCH = 0
  WHERE WERKS IN WERKS  AND matnr in MATNR  and  BMSCH  GT 0.
    COMMIT WORK AND WAIT.
    LOOP AT GYLX.
      MOVE-CORRESPONDING GYLX TO BPCTB.
      BPCTB-SYNAM = SY-UNAME.
      BPCTB-SYDAT = SY-DATUM.
      BPCTB-SYZET = SY-UZEIT.
      APPEND BPCTB.
    ENDLOOP.
*    INSERT ZBPC_ZPPHZ FROM TABLE BPCTB ACCEPTING DUPLICATE KEYS.
    MODIFY  ZBPC_ZPPHZ FROM TABLE BPCTB ."ACCEPTING DUPLICATE KEYS.
    COMMIT WORK AND WAIT.
  ENDIF.
*=================================
ENDFORM.                    "SAVE2BPC
*&---------------------------------------------------------------------*
*&      Form  display
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display .
  DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
                 is_variant LIKE disvariant,
                 it_events   TYPE slis_t_event,
                 is_layout   TYPE slis_layout_alv,"ALV的格式
                 i_list_comments TYPE slis_t_listheader,
                 i_callback_program TYPE sy-repid,
                 title       TYPE lvc_title,
                 it_sort     TYPE slis_t_sortinfo_alv
                 .
  PERFORM fieldcat_init USING it_fieldcat."输出列表控件表头
  PERFORM layout_init USING is_layout.
  PERFORM eventtab_build USING it_events.
  i_callback_program = sy-repid.
  title = '生产版本汇总报表'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = i_callback_program
      i_grid_title       = title
      is_layout          = is_layout
      it_fieldcat        = it_fieldcat
      it_events          = it_events
      it_sort            = it_sort
    TABLES
      t_outtab           = scbb
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " display
*&---------------------------------------------------------------------*
*&      Form  fieldcat_init
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_FIELDCAT  text
*----------------------------------------------------------------------*
FORM fieldcat_init  USING  it_fieldcat TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  ls_fieldcat-fieldname = 'MATNR'.
  ls_fieldcat-reptext_ddic  = '物料号'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-ref_fieldname = 'MATNR'.
  ls_fieldcat-ref_tabname = 'MARA'.
  ls_fieldcat-no_zero = 'X'.
  ls_fieldcat-key = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MAKTX'.
  ls_fieldcat-reptext_ddic  = '物料描述'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'PRDAT'.
  ls_fieldcat-reptext_ddic  = '检查日期'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'PLNNR'.
  ls_fieldcat-reptext_ddic  = '组'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ALNAL'.
  ls_fieldcat-reptext_ddic  = '组计数器'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'STLAL'.
  ls_fieldcat-reptext_ddic  = '可选BOM'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'STLAN'.
  ls_fieldcat-reptext_ddic  = 'BOM用途'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'SERKZ'.
  ls_fieldcat-reptext_ddic  = '允许REM'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MDV01'.
  ls_fieldcat-reptext_ddic  = '生产线'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VERID'.
  ls_fieldcat-reptext_ddic  = '生产版本'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ELPRO'.
  ls_fieldcat-reptext_ddic  = '发货仓储地'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ALORT'.
  ls_fieldcat-reptext_ddic  = '接收仓储地'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'SIGN'.
  ls_fieldcat-reptext_ddic  = '任务清单检查状态'.
  ls_fieldcat-outputlen = '4'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'SIGN1'.
  ls_fieldcat-reptext_ddic  = 'BOM检查状态'.
  ls_fieldcat-outputlen = '4'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ANNAM'.
  ls_fieldcat-reptext_ddic  = '创建人'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-no_zero = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MTART'.
  ls_fieldcat-reptext_ddic  = '物料类型'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MATKL'.
  ls_fieldcat-reptext_ddic  = '物料组'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

ENDFORM.                    " fieldcat_init
*&---------------------------------------------------------------------*
*&      Form  getgylx
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM getgylx .
  SELECT
       mapl~matnr"物料号
       mapl~werks "工厂
       mapl~annam"创建人
       makt~maktx"物料描述
       mapl~plnty"N 路线
       mapl~plnnr"组
       mapl~plnal"组计数器
       crhd~arbpl"工作中心
       crtx~ktext
       plpo~andat"创建日期
       plpo~vornr"工序
       plpo~steus"控制码
       plpo~KTSCH
       plpo~ltxa1"工序描述
       plpo~bmsch"基本数量
       plpo~vgw01"直接人工
       plpo~vgw02"折旧
       plpo~vgw03"机物料
       plpo~vgw04"制造人工
       plpo~vgw05"其它费用
       mara~mtart
       mara~matkl
       plpo~bukrs
       plpo~plnkn  "任务清单节点数
       plpo~zaehl  "内部计数器
       PLKO~PLNNR_ALT
       plpo~vge01  "计量单位
    INTO TABLE gylx
    FROM mapl
    JOIN makt ON ( mapl~matnr = makt~matnr  AND
                   makt~spras = '1' )

    JOIN plas ON ( plas~plnty = mapl~plnty AND
                   plas~plnnr = mapl~plnnr AND
                   plas~plnal = mapl~plnal AND
                   plas~loekz EQ space )

    JOIN plpo ON ( plpo~plnty = plas~plnty AND
                   plpo~plnnr = plas~plnnr AND
                   plpo~plnkn = plas~plnkn AND
                   plpo~zaehl = plas~zaehl )
    JOIN PLKO ON ( PLKO~PLNTY = PLAS~PLNTY AND
                  PLKO~PLNNR = PLAS~PLNNR AND
                  PLKO~PLNAL  = PLAS~plnaL  )
    JOIN mara ON ( mapl~matnr = mara~matnr )
    LEFT JOIN crhd ON ( crhd~objid = plpo~arbid )
    LEFT JOIN crtx ON ( crtx~objid = plpo~arbid )
    WHERE mapl~matnr IN matnr AND
          mapl~andat IN adatu AND
          mapl~werks IN werks AND
          mapl~plnty EQ 'N'   AND
          mara~mtart IN mtart AND
          mara~matkl IN matkl AND
          mara~lvorm EQ space AND
          mapl~loekz EQ space

    ORDER BY mapl~matnr plpo~vornr
    .
ENDFORM.                    " getgylx
*&---------------------------------------------------------------------*
*&      Form  disalv
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM disalv .
  DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
                   is_variant LIKE disvariant,
                   it_events   TYPE slis_t_event,
                   is_layout   TYPE slis_layout_alv,"ALV的格式
                   i_list_comments TYPE slis_t_listheader,
                   i_callback_program TYPE sy-repid,
                   title       TYPE lvc_title,
                   it_sort     TYPE slis_t_sortinfo_alv
                   .
  PERFORM fieldcat_init1 USING it_fieldcat."输出列表控件表头
  PERFORM layout_init USING is_layout.
  PERFORM eventtab_build USING it_events.
  i_callback_program = sy-repid.

  title = '工艺路线汇总报表'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = i_callback_program
      i_grid_title       = title
      is_layout          = is_layout
      it_fieldcat        = it_fieldcat
      it_events          = it_events
      it_sort            = it_sort
    TABLES
      t_outtab           = gylx
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " disalv
*&---------------------------------------------------------------------*
*&      Form  fieldcat_init1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_FIELDCAT  text
*----------------------------------------------------------------------*
FORM fieldcat_init1  USING  it_fieldcat TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  IF r2 = abap_true.
    CLEAR ls_fieldcat.
    ls_fieldcat-fieldname = 'WERKS'.
    ls_fieldcat-reptext_ddic  = '工厂'.
    ls_fieldcat-outputlen = '4'.
    ls_fieldcat-ref_fieldname = 'WERKS'.
    ls_fieldcat-ref_tabname = 'MKAL'.
    ls_fieldcat-no_zero = 'X'.
    ls_fieldcat-key = 'X'.
    APPEND ls_fieldcat TO it_fieldcat.
    CLEAR ls_fieldcat.
  ENDIF.

  ls_fieldcat-fieldname = 'MATNR'.
  ls_fieldcat-reptext_ddic  = '物料号'.
  ls_fieldcat-outputlen = '8'.
  ls_fieldcat-ref_fieldname = 'MATNR'.
  ls_fieldcat-ref_tabname = 'MARA'.
  ls_fieldcat-no_zero = 'X'.
  ls_fieldcat-key = 'X'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MAKTX'.
  ls_fieldcat-reptext_ddic  = '物料描述'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'PLNNR'.
  ls_fieldcat-reptext_ddic  = '组'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'PLNAL'.
  ls_fieldcat-ref_fieldname = 'PLNAL'.
  ls_fieldcat-ref_tabname = 'MAPL'.
  ls_fieldcat-no_zero = 'X'.
  ls_fieldcat-reptext_ddic  = '组计数器'.
  ls_fieldcat-outputlen = '4'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VORNR'.
  ls_fieldcat-reptext_ddic  = '工序'.
  ls_fieldcat-outputlen = '4'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ARBPL'.
  ls_fieldcat-reptext_ddic  = '工作中心'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'KTEXT'.
  ls_fieldcat-reptext_ddic  = '工作中心文本'.
* ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'STEUS'.
  ls_fieldcat-reptext_ddic  = '控制码'.
  ls_fieldcat-outputlen = '6'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'KTSCH'.
  ls_fieldcat-reptext_ddic  = '工序代码'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'LTXA1'.
  ls_fieldcat-reptext_ddic  = '工序描述'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'BMSCH'.
  ls_fieldcat-reptext_ddic  = '基本数量'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VGW01'.
  ls_fieldcat-reptext_ddic  = '直接人工'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VGW02'.
  ls_fieldcat-reptext_ddic  = '折旧'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VGW03'.
  ls_fieldcat-reptext_ddic  = '机物料'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VGW04'.
  ls_fieldcat-reptext_ddic  = '制造人工'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'VGW05'.
  ls_fieldcat-reptext_ddic  = '其它费用'.
  ls_fieldcat-outputlen = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  "$. Region 添加计量单位显示字段 @added by handcsh at 20181123
  ls_fieldcat-fieldname = 'VGE01'.
  ls_fieldcat-reptext_ddic  = '计量单位'.
*  LS_FIELDCAT-OUTPUTLEN = '8'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.
  "$. Endregion 添加计量单位显示字段 @added by handcsh at 20181123

  ls_fieldcat-fieldname = 'ANDAT'.
  ls_fieldcat-reptext_ddic  = '创建日期'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'ANNAM'.
  ls_fieldcat-reptext_ddic  = '创建人'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MTART'.
  ls_fieldcat-reptext_ddic  = '物料类型'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'MATKL'.
  ls_fieldcat-reptext_ddic  = '物料组'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname = 'PLNNR_ALT'.
  ls_fieldcat-reptext_ddic  = '旧任务清单号'.
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

ENDFORM.                    " fieldcat_init1
*&---------------------------------------------------------------------*
*&      Form  layout_init1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IS_LAYOUT  text
*----------------------------------------------------------------------*
FORM layout_init  USING    is_layout TYPE slis_layout_alv.
  is_layout-colwidth_optimize = 'X'.
  is_layout-f2code = 'ZDET'.
ENDFORM.                    " layout_init
*&---------------------------------------------------------------------*
*&      Form  eventtab_build
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_EVENTS  text
*----------------------------------------------------------------------*
FORM eventtab_build  USING    it_events TYPE slis_t_event .
  DATA: ls_event TYPE slis_alv_event.

  MOVE 'USER_COMMAND' TO ls_event-name.
  MOVE 'USER_COMMAND' TO ls_event-form.
  APPEND ls_event TO it_events.
  CLEAR ls_event.
ENDFORM.                    " eventtab_build
*&--------------------------------------------------------------------*
*&      Form  user_command
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->RF_UCOMM   text
*      -->RS_SELFIELDtext
*---------------------------------------------------------------------*
FORM user_command USING rf_ucomm    LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.     "#EC CALLED
*  DATA: ebeln TYPE ebeln.
  CASE rf_ucomm.
    WHEN 'ZDET'.
      IF rs_selfield-tabindex > 0 .
        IF r1 EQ 'X'."生产版本
          READ TABLE scbb INDEX rs_selfield-tabindex.
          IF sy-subrc = 0 .
            SET PARAMETER ID 'WRK' FIELD '1000'.
            SET PARAMETER ID 'MAT' FIELD scbb-matnr.
            SET PARAMETER ID 'PLN' FIELD scbb-plnnr.
            CALL TRANSACTION 'C223' AND SKIP FIRST SCREEN.
          ENDIF.
        ELSEIF r2 EQ 'X'."工艺路线
          READ TABLE gylx INDEX rs_selfield-tabindex.
          IF sy-subrc = 0 .
            SET PARAMETER ID 'WRK' FIELD '1000'.
            SET PARAMETER ID 'MAT' FIELD gylx-matnr.
            SET PARAMETER ID 'PLN' FIELD gylx-plnnr.
            CALL TRANSACTION 'CA03' AND SKIP FIRST SCREEN.
          ENDIF.
        ENDIF.
      ELSE.
        MESSAGE w004(zjack_err).
      ENDIF.
  ENDCASE.
ENDFORM.                    "user_command

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值