物料BOM展开

更新时间:2023-07-24 19:00:25 阅读: 评论:0

REPORT  Z_KEVIN_ADV_BDC.
TABLES: MARA,MARC,MAKT.
TYPE-POOLS: SLIS.
DATA FIELDCAT TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
太阳系中最大的行星是DATA: WT_LAYOUT TYPE SLIS_LAYOUT_ALV,
WT_EVENTS    TYPE SLIS_T_EVENT.
DATA: WS_EVENTS LIKE LINE OF WT_EVENTS.
DATA: G_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMANDS'. "alv duoble mou.
DATA: BEGIN OF ITAB OCCURS 1,
DGLVL  LIKE STPOX_ALV-DGLVL,  "展开层(格式化的)
POSNR  LIKE STPOX_ALV-POSNR,  "BOM 项目号
MATNR  LIKE MARA-MATNR,        "物料号
EAN11  LIKE MARA-EAN11,        "国际文件号(EAN/UPC)
MAKTX  LIKE MAKT-MAKTX,        "物料描述
MNGKO  LIKE STPOX_ALV-MNGKO,  "组件数量
MEINS  LIKE STPOX_ALV-MEINS,  "单位
MTART  LIKE STPOX_ALV-MTART,  "物料类型
MATKL  LIKE STPOX_ALV-MATKL,  "物料组
SOBMX  LIKE STPOX_ALV-SOBMX,  "特殊采购类型
POTX1  LIKE STPOX_ALV-POTX1,  "BOM 项目文本
END OF ITAB.
DATA: BEGIN OF MITAB OCCURS 1,
MATNR LIKE MARA-MATNR,胜利英语
EAN11 LIKE MARA-EAN11,
MAKTX LIKE MAKT-MAKTX,
END OF MITAB.
SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME.接力作文
PARAMETERS:PM_WERKS LIKE MARC-WERKS OBLIGATORY MEMORY ID WRK DEFAULT 1000.
SELECT-OPTIONS: PM_MATNR FOR MARA-MATNR OBLIGATORY .
SELECT-OPTIONS: PM_EAN11 FOR MARA-EAN11.
PARAMETERS: PM_EMENG LIKE RC29L-EMENG OBLIGATORY DEFAULT 1.
SELECTION-SCREEN:END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_MATNR.
PERFORM GET_BOM.
PERFORM GET_FIELDCAT.
PERFORM WRITE_ITEM.
CALL FUNCTION 'ZC_PP_COUNTREPORT'"ͳ¼Æ±¨±í
EXPORTING
TCODE = SY-TCODE.
*&---------------------------------------------------------------------*
*&      Form  GET_MATNR
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
七夕歌词FORM GET_MATNR .
SELECT A~MATNR EAN11 MAKTX INTO TABLE MITAB
FROM MARA AS A JOIN MARC AS B ON A~MATNR = B~MATNR
JOIN MAKT AS C ON A~MATNR = C~MATNR AND SPRAS = SY-LANGU
WHERE WERKS = PM_WERKS AND A~MATNR IN PM_MATNR AND EAN11 IN PM_EAN11 AND MTART IN ('FERT','HALB').
ENDFORM. " GET_MATNR
*&---------------------------------------------------------------------*
*&      Form  GET_BOM
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
极地长寒气候FORM GET_BOM .
DATA: POINT TYPE CHAR10 , NUM TYPE N,LEN TYPE I.
DATA: FIRSTFLAG TYPE I VALUE 1.
LOOP AT MITAB.
DATA: TMP_STB  LIKE STPOX OCCURS 10 WITH HEADER LINE.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
CA
PID                = 'PP01'        "BOM Application
DATUV                = SY-DATUM
MTNRV                = MITAB-MATNR        "MATERAIL NUMBER
EMENG                = PM_EMENG
MEHRS                = 'X'
WERKS                = PM_WERKS
STLAN                = '1'
TABLES
STB                  = TMP_STB
EXCEPTIONS
ALT_NOT_FOUND        = 1
CALL_INVALID          = 2
MATERIAL_NOT_FOUND    = 3
MISSING_AUTHORIZATION = 4
NO_BOM_FOUND          = 5
NO_PLANT_DATA        = 6
NO_SUITABLE_BOM_FOUND = 7
OTHERS                = 8.
IF TMP_STB[] IS NOT INITIAL.
IF FIRSTFLAG NE 1.
CLEAR: ITAB.
APPEND ITAB.
ELSE.
FIRSTFLAG = 0.
ENDIF.
CLEAR: ITAB.
ITAB-MATNR = MITAB-MATNR.
ITAB-EAN11 = MITAB-EAN11.
ITAB-MAKTX = MITAB-MAKTX.
APPEND ITAB.
LOOP AT TMP_STB.
MOVE-CORRESPONDING TMP_STB TO ITAB.
ITAB-MATNR = TMP_STB-IDNRK.
POINT =  '..........'.
NUM = TMP_STB-STUFE.
LEN = STRLEN( NUM ).
IF LEN = 1.
CONCATENATE POINT+0(TMP_STB-STUFE) NUM INTO ITAB-DGLVL.
ELSEIF LEN = 2.
CONCATENATE POINT+0(8) NUM INTO ITAB-DGLVL.
ELSEIF LEN = 3.
CONCATENATE POINT+0(7) NUM INTO ITAB-DGLVL.
ELSE.
CONCATENATE POINT+0(6) NUM INTO ITAB-DGLVL.
ENDIF.
IF ITAB-MTART = 'FERT' OR ITAB-MTART = 'HALB'.
ITAB-MTART = TEXT-012.
ELSEIF ITAB-MTART = 'UNBW'.
ITAB-MTART = TEXT-013.
ELSEIF ITAB-MTART = 'ROH'.
ITAB-MTART = TEXT-014.
ENDIF.
CLEAR: ITAB-EAN11,ITAB-MAKTX.
SELECT SINGLE EAN11 INTO ITAB-EAN11 FROM MARA WHERE MATNR = ITAB-MATNR.
SELECT SINGLE MAKTX INTO ITAB-MAKTX FROM MAKT WHERE MATNR = ITAB-MATNR AND SPRAS = SY-LANGU.
APPEND ITAB.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM. " GET_BOM
*&---------------------------------------------------------------------*
*&      Form  GET_FIELDCAT
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_FIELDCAT .
FIELDCAT-FIELDNAME = 'DGLVL'.
FIELDCAT-SELTEXT_M = '展开层'.
FIELDCAT-FIX_COLUMN  = 'X'.
FIELDCAT-JUST = 'L'.
FIELDCAT-NO_OUT  = ' '.
FIELDCAT-INTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'POSNR'.
FIELDCAT-SELTEXT_M = 'BOM 项目号'.
FIELDCAT-FIX_COLUMN  = 'X'.
FIELDCAT-INTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MATNR'.
FIELDCAT-SELTEXT_M = '物料号'.
FIELDCAT-FIX_COLUMN  = 'X'.
FIELDCAT-INTLEN = 18.
APPEND FIELD
CAT.
水上运动项目CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'EAN11'.
FIELDCAT-SELTEXT_M = 'EAN'.
FIELDCAT-INTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MAKTX'.
FIELDCAT-SELTEXT_M = '物料描述'.
FIELDCAT-INTLEN = 35.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MNGKO'.
FIELDCAT-SELTEXT_M = '组件数量'.
FIELDCAT-NO_ZERO = 'X'.
*  fieldcat-decimals_out = '0'.
FIELDCAT-QFIELDNAME = 'MEINS'.
FIELDCAT-JUST = 'L'.
FIELDCAT-INTLEN = 16.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MEINS'.
FIELDCAT-SELTEXT_M = '单位'.
FIELDCAT-INTLEN = 8.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MTART'.
FIELDCAT-JUST = 'L'.
筛子玩法FIELDCAT-SELTEXT_M = '物料类型'.
FIELDCAT-INTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MATKL'.
FIELDCAT-JUST = 'L'.
FIELDCAT-SELTEXT_M = '物料组'.
FIELDCAT-INTLEN = 14.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'SOBMX'.
FIELDCAT-JUST = 'L'.
FIELDCAT-SELTEXT_M = '特殊采购类型'.
FIELDCAT-INTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'POTX1'.
FIELDCAT-JUST = 'L'.
FIELDCAT-SELTEXT_M = 'BOM 项目文本'.
FIELDCAT-INTLEN = 30.
APPEND FIELDCAT.
CLEAR FIELDCAT.
ENDFORM. " GET_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  WRITE_ITEM
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM WRITE_ITEM .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM      = SY-CPROG
IS_LAYOUT              = WT_LAYOUT
I_GRID_TITLE            = SY-TITLE
I_DEFAULT              = 'X'
I_SAVE                  = 'X'
IT_FIELDCAT            = FIELDCAT[]
IT_EVENTS              = WT_EVENTS
I_CALLBACK_USER_COMMAND = G_COMMAND
TABLES
T_OUTTAB                = ITAB.
ENDFORM. " WRITE_ITEM
* ************ALV ÖеÄÊó±êµã»÷¶¯×÷ ****************
FORM USER_COMMANDS USING R_UCOMM LIKE SY-UCOMM SELFIELD TYPE SLIS_SELFIELD.
DATA:ITAB_LN LIKE LINE OF ITAB.
CASE R_UCOMM.
WHEN '&IC1'.
IF SELFIELD-VALUE NE ''.
IF SELFIELD-SEL_TAB_FIELD = '1-MATNR'  .
SET PARAMETER ID 'MXX' FIELD 'K'.
SET PARAMETER ID 'MAT' FIELD SELFIELD-VALUE.
汪峰的老婆是谁
SET PARAMETER ID 'LIF' FIELD ''.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
CLEAR R_UCOMM.CLEAR ITAB_LN.
ENDFORM. "USER_COMMAND

本文发布于:2023-07-24 19:00:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1095054.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   物料   行星   文件   组件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图