GET WIP DISPLAY DETAIL-COMLWIPDISP

&---------------------------------------------------------------------
*& Report ZRCO999
&---------------------------------------------------------------------
*&
&---------------------------------------------------------------------
REPORT ZCO_R0001.
TABLES MLWIPHD.
DATA LT_OBJNR TYPE STANDARD TABLE OF JSTO_PRE.
DATA LST_OBJNR LIKE LINE OF LT_OBJNR.
DATA L_KALNR TYPE CK_KALNR.
DATA L_POPUP TYPE C.
DATA L_PERIOD TYPE CO_PERIO.
DATA L_GJAHR TYPE GJAHR.
DATA L_CURR_BUKRS TYPE WAERS.
DATA L_CURR_KOKRS TYPE WAERS.
DATA L_CURTP_BUKRS TYPE CURTP.
DATA L_CURTP_KOKRS TYPE CO_CTYP.
DATA L_FIRST_MATERIAL TYPE C.
TYPE-POOLS:SLIS.
DATA:LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA LV_COLPOS TYPE INT2.
*-The Most Detailed ML Data
DATA T_MOST_DETAILED_OUTPUT_ML TYPE TABLE OF MLWIPS_ML_MOST_DETAILED.
*-Basis for Detailed WIP ML Data
DATA T_DETAILED_OUTPUT_ML TYPE STANDARD TABLE OF MLWIPS_ML_DETAILED.
*-Summary ML-WIP for WIP in ML Data
DATA T_OUTPUT_ML TYPE STANDARD TABLE OF MLWIPS_ML_GENERAL.
*-CO-ML WIP Actual Cost Data
DATA T_OBJTAB_ALV TYPE TABLE OF MLWIPS_LIST1_OUT.

FIELD-SYMBOLS:<F_TAB> TYPE STANDARD TABLE ,
<WA_TAB> TYPE ANY.
"PARAMETERS PUPFIL TYPE RLGRAP-FILENAME .
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-B01.
PARAMETERS P_PERIOD TYPE CO_PERIO OBLIGATORY.
PARAMETERS P_YEAR TYPE GJAHR OBLIGATORY.
SELECT-OPTIONS L_WERKS FOR MLWIPHD-WERKS .

SELECTION-SCREEN END OF BLOCK B1.
"AT SELECTION-SCREEN ON VALUE-REQUEST FOR PUPFIL.
" PERFORM FILENAME_GET.

START-OF-SELECTION.
"PERFORM GET_EXCEL.
L_PERIOD = P_PERIOD.
L_GJAHR = P_YEAR.
L_CURR_BUKRS = ‘RMB’.
L_CURR_KOKRS = ‘TWD’.
L_CURTP_BUKRS = ‘10’.
L_CURTP_KOKRS = ‘30’.
L_FIRST_MATERIAL = ‘X’.
SELECT OBJNR
FROM MLWIPHD INTO TABLE LT_OBJNR
WHERE GJAHR = P_YEAR
AND PERIO = P_PERIOD
AND WERKS IN L_WERKS.

PERFORM DETERMINE_WIP_ML_S4 IN PROGRAM DISPLAY_WIP_OBJ_ML IF FOUND
USING LT_OBJNR L_KALNR L_POPUP L_PERIOD L_GJAHR L_CURR_BUKRS
L_CURR_KOKRS L_CURTP_BUKRS L_CURTP_KOKRS L_FIRST_MATERIAL
CHANGING T_MOST_DETAILED_OUTPUT_ML T_DETAILED_OUTPUT_ML T_OUTPUT_ML.
SORT T_DETAILED_OUTPUT_ML BY OBJID KALNR.

PERFORM ALV_DISPLAY .
*FORM FILENAME_GET.

  • DATA: L_TYPE(20).
  • MOVE ‘*.XLS’ TO L_TYPE.
  • CALL FUNCTION ‘WS_FILENAME_GET’
  • EXPORTING
  •  DEF_FILENAME     = PUPFIL
    
  •  DEF_PATH         = L_TYPE
    
  • IMPORTING
  •  FILENAME         = PUPFIL
    
  • EXCEPTIONS
  •  INV_WINSYS       = 1
    
  •  NO_BATCH         = 2
    
  •  SELECTION_CANCEL = 3
    
  •  SELECTION_ERROR  = 4
    
  •  OTHERS           = 5.
    
  • 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. " FILENAME_GET
    *FORM GET_EXCEL.
    ** DATA : LT_INTERN TYPE KCDE_CELLS OCCURS 0 WITH HEADER LINE.
  • DATA: LT_INTERN TYPE STANDARD TABLE OF ALSMEX_TABLINE WITH HEADER LINE,
  •    LW_objnr TYPE jsto_pre,
    
  •    LD_INDEX TYPE I,
    
  •    L_UPLOAD,
    
  •    L_ZMNCode.
    
  • FIELD-SYMBOLS : .
  • CLEAR : LW_objnr.
  • REFRESH : lt_objnr.
  • CLEAR : LT_INTERN.
  • REFRESH : LT_INTERN.
  • CALL FUNCTION ‘ALSM_EXCEL_TO_INTERNAL_TABLE’
  •   EXPORTING
    
  •      FILENAME                = PUPFIL
    
  •      I_BEGIN_COL             = 1
    
  •      I_BEGIN_ROW             = 1
    
  •      I_END_COL               = 2
    
  •      I_END_ROW               = 9990
    
  •   TABLES
    
  •        INTERN                  = LT_INTERN
    
  •   EXCEPTIONS
    
  •        INCONSISTENT_PARAMETERS = 1
    
  •        UPLOAD_OLE              = 2
    
  •        OTHERS                  = 3.
    
  • IF SY-SUBRC <> 0.
  •  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    
  •        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    
  • ENDIF.
  • IF LT_INTERN[] IS INITIAL.
  • FORMAT COLOR COL_BACKGROUND INTENSIFIED.
  • WRITE:/ ‘No Data Uploaded’.
  • EXIT.
  • ENDIF.
  • ASSIGN LW_objnr TO <WA_tab>.
  • SORT LT_INTERN BY ROW COL.
  • CLEAR L_UPLOAD.
  • LOOP AT LT_INTERN.
  • MOVE LT_INTERN-COL TO LD_INDEX.
  • ASSIGN COMPONENT LD_INDEX OF STRUCTURE <WA_tab> TO .
  • MOVE LT_INTERN-VALUE TO .
  • AT END OF ROW.
  •  APPEND <WA_tab> TO Lt_objnr.
    
  •  CLEAR: <WA_tab>, L_UPLOAD.
    
  • ENDAT.
  • ENDLOOP.
    *ENDFORM.
    &---------------------------------------------------------------------
    *& Form ALV_DISPLAY
    &---------------------------------------------------------------------
    *& text
    &---------------------------------------------------------------------
    *& --> p1 text
    *& <-- p2 text
    &---------------------------------------------------------------------
    FORM ALV_DISPLAY .

—ALV格式控制—
LS_LAYOUT-ZEBRA = ‘X’.
LS_LAYOUT-DETAIL_POPUP = ‘X’.
LS_LAYOUT-DETAIL_TITLEBAR = ‘详细信息’.
LS_LAYOUT-F2CODE = ‘&ETA’.
LS_LAYOUT-COLWIDTH_OPTIMIZE = ‘X’.
LV_COLPOS = 1.
LS_FIELDCAT-FIELDNAME = ‘OBJNR’.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-KEY = ‘X’. "设定是否是主键
LS_FIELDCAT-SELTEXT_M = ‘工單號碼’.
LS_FIELDCAT-DATATYPE = ‘CHAR’. "设定字段类型
LS_FIELDCAT-OUTPUTLEN = ‘15’.
LS_FIELDCAT-REF_TABNAME = ‘MCHB’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-KEY = ‘X’. "设定是否是主键
LS_FIELDCAT-FIELDNAME = ‘OBJID’.
LS_FIELDCAT-DATATYPE = ‘CHAR’. "设定字段类型
LS_FIELDCAT-OUTPUTLEN = ‘30’.
LS_FIELDCAT-SELTEXT_M = ‘元件物料號碼’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-KEY = ‘X’. "设定是否是主键
LS_FIELDCAT-FIELDNAME = ‘WERKS’.
LS_FIELDCAT-SELTEXT_M = ‘工廠’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-FIELDNAME = ‘MEINH’.
LS_FIELDCAT-DATATYPE = ‘char’. "设定字段类型
LS_FIELDCAT-SELTEXT_M = ‘計量單位’.
LS_FIELDCAT-REF_TABNAME = ‘MLWIPIT’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-FIELDNAME = ‘WIP’.
LS_FIELDCAT-SELTEXT_M = ‘期間層的WIP數量’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-FIELDNAME = ‘DELTA’.
LS_FIELDCAT-SELTEXT_M = ‘數量:百分比更改’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-FIELDNAME = ‘VALUE_GES_BUKR’.
LS_FIELDCAT-SELTEXT_M = ‘WIP價格差異(目前)’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LV_COLPOS = LV_COLPOS + 1.
LS_FIELDCAT-COL_POS = LV_COLPOS.
LS_FIELDCAT-FIELDNAME = ‘VALUE_PER_BUKR’.
LS_FIELDCAT-SELTEXT_M = ‘WIP價格差異(百分比更改)’.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.

—显示ALV—
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING

  • I_INTERFACE_CHECK = ’ ’
  • I_BYPASSING_BUFFER = ’ ’
  • I_BUFFER_ACTIVE = ’ ’
    I_CALLBACK_PROGRAM = SY-REPID
    " I_CALLBACK_PF_STATUS_SET = ‘SET_PF_STATUS’
    "I_CALLBACK_USER_COMMAND = ’ USER_COMMAND’
  • I_CALLBACK_TOP_OF_PAGE = ’ ’
  • I_CALLBACK_HTML_TOP_OF_PAGE = ’ ’
  • I_CALLBACK_HTML_END_OF_LIST = ’ ’
  • I_STRUCTURE_NAME =
  • I_BACKGROUND_ID = ’ ’
  • I_GRID_TITLE =
  • I_GRID_SETTINGS =
    IS_LAYOUT = LS_LAYOUT
    IT_FIELDCAT = LT_FIELDCAT
  • IT_EXCLUDING =
  • IT_SPECIAL_GROUPS =
  • IT_SORT =
  • IT_FILTER =
  • IS_SEL_HIDE =
  • I_DEFAULT = ‘X’
  • I_SAVE = ’ X’
  • IS_VARIANT = gs_variant
  • IT_EVENTS = gt_events
  • IT_EVENT_EXIT =
  • IS_PRINT =
  • IS_REPREP_ID =
  • I_SCREEN_START_COLUMN = 0
  • I_SCREEN_START_LINE = 0
  • I_SCREEN_END_COLUMN = 0
  • I_SCREEN_END_LINE = 0
  • I_HTML_HEIGHT_TOP = 0
  • I_HTML_HEIGHT_END = 0
  • IT_ALV_GRAPHICS =
  • IT_HYPERLINK =
  • IT_ADD_FIELDCAT =
  • IT_EXCEPT_QINFO =
  • IR_SALV_FULLSCREEN_ADAPTER =
  • O_PREVIOUS_SRAL_HANDLER =
  • IMPORTING
  • E_EXIT_CAUSED_BY_CALLER =
  • ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = T_DETAILED_OUTPUT_ML
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    .
    IF SY-SUBRC <> 0.
  • Implement suitable error handling here
    ENDIF.
    ENDFORM.
    FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
    SET PF-STATUS ‘ZCO_R0001’ .
    ENDFORM. "set_pf_status
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值