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
文章来自于网络,如果侵犯了您的权益,请联系站长删除!