CJ VIETNAM
2018년 2월 20일 화요일
2016년 12월 15일 목요일
ZPPREWORK02_[VIETNAM CF-FIV] Activity Type Quantity Analysis
*&---------------------------------------------------------------------*
*& Report ZPPREWORK02
*&---------------------------------------------------------------------*
*& [VIETNAM CJ-FIV] Activity Type Quantity Analysis
*&---------------------------------------------------------------------*
* Description : [VIETNAM CF-FIV] Activity Type Quantity Analysis *
*
* Dev. Request No : *
***********************************************************************
* MODIFICATION LOG : *
***********************************************************************
* Date Rev# Programmer Description *
* ---------- ---- ----------------- -------------------------------*
* 2016.12.01 1.0 VIETNAMDEV New Created
*&--------------------------------------------------------------------*
REPORT ZPPREWORK02 NO STANDARD PAGE HEADING MESSAGE-ID ZDPP LINE-SIZE 1023.
***********************************************************************
*INCLUDE.
***********************************************************************
INCLUDE <ICON>.
INCLUDE ZPPREWORK02_C01.
INCLUDE ZPPREWORK02_TOP.
INCLUDE ZPPREWORK02_F01.
INCLUDE ZPPREWORK02_F02.
INCLUDE ZPPREWORK02_O01.
INCLUDE ZPPREWORK02_I01.
***********************************************************************
*INITIALIZATION.
***********************************************************************
INITIALIZATION.
PERFORM INIT_DATE.
***********************************************************************
*START-OF-SELECTION.
***********************************************************************
START-OF-SELECTION.
PERFORM GET_MASTER_LIST.
PERFORM GT_LIST_EDIT.
IF GT_RESULT[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
PERFORM GET_DESC_DATA.
PERFORM MAKE_HEADER_DATA.
CALL SCREEN 100.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_C01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& CLASS DEFINITIAL
*&---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_DATA_CHANGED
FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
IMPORTING ER_DATA_CHANGED,
HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID,
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
ENDCLASS. "LCL_EVENT_RECEIVER DEFINITION
*---------------------------------------------------------------------*
* CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DATA_CHANGED.
ENDMETHOD. "HANDLE_DATA_CHANGED
METHOD HANDLE_HOTSPOT_CLICK.
* PERFORM METHOD_HOTSPOT_CLICK USING E_ROW_ID E_COLUMN_ID.
ENDMETHOD. "HANDLE_HOTSPOT_CLICK
METHOD HANDLE_DOUBLE_CLICK.
PERFORM METHOD_DOUBLE_CLICK USING E_ROW-INDEX
E_COLUMN-FIELDNAME.
ENDMETHOD. "HANDLE_DOUBLE_CLICK
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
* LOCAL CLASSES: Definition
*---------------------------------------------------------------------*
CLASS LCL_ALV_GRID DEFINITION INHERITING FROM CL_GUI_ALV_GRID.
PUBLIC SECTION.
METHODS: SET_OPTIMIZE_ALL_COLS.
ENDCLASS. "LCL_AlV_GRID DEFINITION
*---------------------------------------------------------------------*
* CLASS LCL_AlV_GRID IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS LCL_ALV_GRID IMPLEMENTATION.
METHOD SET_OPTIMIZE_ALL_COLS.
CALL METHOD ME->OPTIMIZE_ALL_COLS
EXPORTING
INCLUDE_HEADER = 1.
ENDMETHOD. "SET_OPTIMIZE_ALL_COLS
ENDCLASS. "LCL_ALV_GRID IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_TOP
*&---------------------------------------------------------------------*
***********************************************************************
* TABLES & TYPE-POOLS
***********************************************************************
TABLES : CSKT, CSLT, COBK, AFRU, ZMSEG.
TYPE-POOLS: ICON, SLIS, VRM, OLE2.
***********************************************************************
** Internal Table & Data
***********************************************************************
DATA: BEGIN OF GT_RESULT OCCURS 0,
KOKRS LIKE COBK-KOKRS,
BELNR LIKE COBK-BELNR,
REFBN LIKE COBK-REFBN,
AWORG LIKE COBK-AWORG,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
PAROB LIKE COEP-PAROB,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER,
AUFNR LIKE AFRU-AUFNR,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
WERKS LIKE AFRU-WERKS,
VORNR LIKE AFRU-VORNR,
MEILR LIKE AFRU-MEILR,
ZREWORK(1).
DATA: END OF GT_RESULT.
DATA: BEGIN OF GT_HEADER OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
AUFNR LIKE AFRU-AUFNR,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT. "Cost Center Desc
DATA: END OF GT_HEADER.
DATA: BEGIN OF GT_DETAIL OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
AUFNR LIKE AFRU-AUFNR,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_DETAIL.
DATA: BEGIN OF GT_SUM OCCURS 0,
WERKS LIKE AFRU-WERKS,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR_Y LIKE COEP-MEGBTR, "Yield Actity Qty
MEGBTR_W LIKE COEP-MEGBTR, "Recycle Actity Qty
MEINH LIKE COEP-MEINH,
WTGBTR_Y LIKE COVP-WTGBTR, "Yield Value
WTGBTR_W LIKE COVP-WTGBTR, "Recycle Value
TWAER LIKE COVP-TWAER.
DATA: END OF GT_SUM.
DATA: BEGIN OF GT_MAT OCCURS 0,
AUFNR LIKE AFPO-AUFNR,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX.
DATA: END OF GT_MAT.
DATA: BEGIN OF GT_YIELD OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_YIELD.
DATA: BEGIN OF GT_REWORK OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_REWORK.
DATA: GT_CSKT LIKE TABLE OF CSKT WITH HEADER LINE,
GT_CSLT LIKE TABLE OF CSLT WITH HEADER LINE.
DATA: BEGIN OF ITAB OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
AUFNR LIKE AFRU-AUFNR,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
END OF ITAB.
DATA: BEGIN OF ITAB2 OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
AUFNR LIKE AFRU-AUFNR,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB2.
DATA: BEGIN OF ITAB3 OCCURS 0,
WERKS LIKE AFRU-WERKS,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR_Y LIKE COEP-MEGBTR, "Yield Actity Qty
MEGBTR_W LIKE COEP-MEGBTR, "Recycle Actity Qty
MEINH LIKE COEP-MEINH,
WTGBTR_Y LIKE COVP-WTGBTR, "Yield Value
WTGBTR_W LIKE COVP-WTGBTR, "Recycle Value
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB3.
DATA: BEGIN OF ITAB4 OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB4.
DATA: BEGIN OF ITAB5 OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB5.
DATA: BEGIN OF GT_ITAB OCCURS 0,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINH LIKE COEP-MEINH,
MEINH2 LIKE COEP-MEINH.
DATA: END OF GT_ITAB.
DATA: GV_LMNGA LIKE AFRU-LMNGA.
DATA: GV_RMNGA LIKE AFRU-RMNGA.
DATA: GV_MEINH LIKE COEP-MEINH.
DATA: GV_MEINH2 LIKE COEP-MEINH.
***********************************************************************
* Screen
***********************************************************************
* 기본 SET
DATA : GV_SEL_FIELD LIKE HELP_INFO-FIELDNAME,
GT_FIELDS LIKE HELP_VALUE OCCURS 1 WITH HEADER LINE,
GV_SEL_VALUE LIKE HELP_INFO-FLDVALUE,
GV_TABIX LIKE SY-TABIX.
DATA : G_LNO TYPE I.
* 화면 필드 선언. -> 선택된 값을 화면 필드에 뿌려줄 때 사용.
* 화면 필드 선언. -> 선택된 값을 화면 필드에 뿌려줄 때 사용.
DATA : GT_DYNP LIKE DYNPREAD OCCURS 0 WITH HEADER LINE. "NO ENTERENTRY
DATA : BEGIN OF FIELDS OCCURS 0.
INCLUDE STRUCTURE HELP_VALUE.
DATA : END OF FIELDS.
DATA : BEGIN OF DYNPFIELDS OCCURS 0.
INCLUDE STRUCTURE DYNPREAD.
DATA : END OF DYNPFIELDS.
DATA : BEGIN OF VALUETAB OCCURS 0,
VALUE(80).
DATA : END OF VALUETAB.
DATA : BEGIN OF SELECT_VALUES OCCURS 0.
INCLUDE STRUCTURE HELP_VTAB.
DATA : END OF SELECT_VALUES.
***************** 광역 변수 선언
DATA : OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE SY-UCOMM,
G_RFCDEST LIKE RFCDES-RFCDEST,
G_RTUN_C(2), "RFC Return code
G_RTUN_T(100). "RFD Return Text
***************** ALV
TYPE-POOLS : VRM, " for Dropdown Listbox
SLIS.
*----------------------------------------------------------------------*
* TYPE
*----------------------------------------------------------------------*
DATA : GS_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER3 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER4 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER5 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_ALV_GRID TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID2 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID3 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID4 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID5 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_VARIANT TYPE DISVARIANT, " Layout (External Use)
GS_LAYOUT TYPE LVC_S_LAYO, " ALV control: Layout
GS_FIELDCAT TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT2 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT3 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT4 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT5 TYPE LVC_T_FCAT, " Field Catalog for List
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT3 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT4 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT5 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GS_FIELDCATALOG TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG2 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG3 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG4 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG5 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_SORT TYPE TABLE OF LVC_S_SORT, "Field sort
GS_EXCLUDE TYPE UI_FUNCTIONS, "ALV Toolbar dim
GS_COLOR TYPE LVC_T_SCOL WITH HEADER LINE, "ALV color
GS_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER, "ALV Event
GS_SELFIELD TYPE SLIS_SELFIELD, "ALV Selected
GS_DROPDOWN TYPE LVC_T_DROP, "ALV List box
GS_CELLTAB TYPE LVC_T_STYL WITH HEADER LINE,"ALVControl
GS_ROWS TYPE LVC_T_ROW, "ALV 제어: 테이블행
GS_ROW TYPE LVC_S_ROW, "ALV 제어: 라인내역
GS_ROID TYPE LVC_T_ROID, "라인 ID에 라인번호 지정
GS_STBL TYPE LVC_S_STBL. "최신표시 안정성
*----------------------------------------------------------------------*
* VARIABLE
*----------------------------------------------------------------------*
DATA : G_POS TYPE I, "ALV Display position
G_IND LIKE SY-TABIX. "Possible entry index
DATA : G_TEXT(50) TYPE C, "Process percentage info
G_LINES TYPE I VALUE 1, "Indicator line
G_PERCENTAGE TYPE P, "Indicator percentage
G_GREEN LIKE ICONS-L4 VALUE '@08@', "녹색
G_YELLOW LIKE ICONS-L4 VALUE '@09@', "노란색
G_RED LIKE ICONS-L4 VALUE '@0A@', "붉은색
G_MOD TYPE I, "Line 홀수/짝수
G_CHAR TYPE C, "색깔 정보
G_CONSTANT(1) TYPE C VALUE 'C', "Color constants
G_ON(1) TYPE C VALUE 1, "Intensified on
G_OFF(1) TYPE C VALUE 0. "Intensified off
*----------------------------------------------------------------------*
* CONSTANT
*----------------------------------------------------------------------*
CONSTANTS : C_CONTAINER TYPE SCRFNAME VALUE 'G_ALV_GRID', "ALV
C_CONTAINER2 TYPE SCRFNAME VALUE 'G_ALV_GRID2', "ALV
C_CONTAINER3 TYPE SCRFNAME VALUE 'G_ALV_GRID3', "ALV
C_CONTAINER4 TYPE SCRFNAME VALUE 'G_ALV_GRID4', "ALV
C_CONTAINER5 TYPE SCRFNAME VALUE 'G_ALV_GRID5', "ALV
C_GT_TEMP TYPE SLIS_TABNAME VALUE 'ITAB',
C_GT_TEMP2 TYPE SLIS_TABNAME VALUE 'ITAB2',
C_GT_TEMP3 TYPE SLIS_TABNAME VALUE 'ITAB3',
C_GT_TEMP4 TYPE SLIS_TABNAME VALUE 'ITAB4',
C_GT_TEMP5 TYPE SLIS_TABNAME VALUE 'ITAB5',
C_GT_LIST(7) TYPE C VALUE 'GT_LIST',
C_(1) TYPE C VALUE ' ', "Empty flag
C_INFO(4) TYPE C VALUE 'INFO', "INFO
C_COLINFO(7) TYPE C VALUE 'COLINFO', "COLINFO
C_STYLE(5) TYPE C VALUE 'STYLE', "STYLE
* ALV FIELD NAME
C_WERKS(5) TYPE C VALUE 'WERKS',
C_BUDAT(5) TYPE C VALUE 'BUDAT',
C_AUFNR(5) TYPE C VALUE 'AUFNR',
C_MATNR(5) TYPE C VALUE 'MATNR',
C_MAKTX(24) TYPE C VALUE 'MAKTX',
C_MEINS(5) TYPE C VALUE 'MEINS',
C_KOSTL(5) TYPE C VALUE 'KOSTL',
C_KTEXT(5) TYPE C VALUE 'KTEXT',
C_LSTAR(5) TYPE C VALUE 'LSTAR',
C_LMNGA(5) TYPE C VALUE 'LMNGA',
C_RMNGA(5) TYPE C VALUE 'RMNGA',
* ALV DATA LENGTH
C_18(2) TYPE C VALUE '18',
* DATA TYPE
C_CHAR(4) TYPE C VALUE 'CHAR',
C_QUAN(4) TYPE C VALUE 'QUAN',
C_DEC(3) TYPE C VALUE 'DEC',
C_CURR(6) TYPE C VALUE 'C_CURR',
* STATUS TYPE
C_BACK(4) TYPE C VALUE 'BACK',
C_EXIT(4) TYPE C VALUE 'EXIT',
C_CANC(4) TYPE C VALUE 'CANC',
C_EXPAND(6) TYPE C VALUE 'EXPAND',
C_COLLAP(6) TYPE C VALUE 'COLLAP',
C_ACTSUM(6) TYPE C VALUE 'ACTSUM',
* 알파벳
C_A(1) TYPE C VALUE 'A',
C_B(1) TYPE C VALUE 'B',
C_C(1) TYPE C VALUE 'C',
C_D(1) TYPE C VALUE 'D',
C_E(1) TYPE C VALUE 'E',
C_F(1) TYPE C VALUE 'F',
C_G(1) TYPE C VALUE 'G',
C_H(1) TYPE C VALUE 'H',
C_I(1) TYPE C VALUE 'I',
C_J(1) TYPE C VALUE 'J',
C_K(1) TYPE C VALUE 'K',
C_L(1) TYPE C VALUE 'L',
C_M(1) TYPE C VALUE 'M',
C_N(1) TYPE C VALUE 'N',
C_O(1) TYPE C VALUE 'O',
C_P(1) TYPE C VALUE 'P',
C_Q(1) TYPE C VALUE 'Q',
C_R(1) TYPE C VALUE 'R',
C_S(1) TYPE C VALUE 'S',
C_T(1) TYPE C VALUE 'T',
C_U(1) TYPE C VALUE 'U',
C_V(1) TYPE C VALUE 'V',
C_W(1) TYPE C VALUE 'W',
C_X(1) TYPE C VALUE 'X',
C_Y(1) TYPE C VALUE 'Y',
C_Z(1) TYPE C VALUE 'Z',
* 숫자
C_1(1) TYPE C VALUE '1',
C_2(1) TYPE C VALUE '2',
C_3(1) TYPE C VALUE '3',
C_4(1) TYPE C VALUE '4',
C_5(1) TYPE C VALUE '5',
C_6(1) TYPE C VALUE '6',
C_7(1) TYPE C VALUE '7',
C_8(1) TYPE C VALUE '8',
C_9(1) TYPE C VALUE '9',
C_0(1) TYPE C VALUE '0',
C_0000000000(10) VALUE '0000000000'.
***************** 광역 변수 선언
DATA : G_OK_CODE LIKE SY-UCOMM.
*해더 관련
DATA : G_DD_DOC TYPE REF TO CL_DD_DOCUMENT,
G_DD_IMAGE TYPE REF TO CL_DD_IMAGE_NAME_CACHE.
***********************************************************************
* SELECTION SCREEN . [SELECT-OPTION & PARAMETERS ]
***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_KOKRS LIKE CSKT-KOKRS DEFAULT 'VN20'.
SELECT-OPTIONS : S_WERKS FOR AFRU-WERKS DEFAULT '7210'.
SELECT-OPTIONS : S_BUDAT FOR COBK-BUDAT.
SELECT-OPTIONS : S_AUFNR FOR AFRU-AUFNR.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_RECY TYPE C AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK BL2.
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form INIT_DATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INIT_DATE .
DATA : LV_DATE LIKE SY-DATUM.
CLEAR : S_BUDAT, S_BUDAT[].
IF SY-DATUM+6(2) >= 6.
* 6일 이후는 현재 월의 1일 ~ 말일자
CONCATENATE SY-DATUM+0(6) '01' INTO S_BUDAT-LOW.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = SY-DATUM
IMPORTING
LAST_DAY_OF_MONTH = S_BUDAT-HIGH.
ELSE.
* 6일 이전에는 지난 월의 1일 ~ 말일자
CALL FUNCTION 'OIL_GET_PREV_MONTH'
EXPORTING
I_DATE = SY-DATUM
IMPORTING
E_DATE = LV_DATE.
CONCATENATE LV_DATE+0(6) '01' INTO S_BUDAT-LOW.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = LV_DATE
IMPORTING
LAST_DAY_OF_MONTH = S_BUDAT-HIGH.
ENDIF.
APPEND S_BUDAT.
CLEAR S_BUDAT.
ENDFORM. " INIT_DATE
*&---------------------------------------------------------------------*
*& Form GET_MASTER_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_MASTER_LIST .
SELECT A~KOKRS A~BELNR A~REFBN A~AWORG A~BUDAT
B~PAROB B~MEGBTR B~MEINH
C~WTGBTR C~TWAER
INTO CORRESPONDING FIELDS OF TABLE GT_RESULT
FROM COBK AS A INNER JOIN COEP AS B
ON A~KOKRS = B~KOKRS
AND A~BELNR = B~BELNR
JOIN COVP AS C
ON B~KOKRS = C~KOKRS
AND B~BELNR = C~BELNR
AND B~BUZEI = C~BUZEI
WHERE A~KOKRS EQ P_KOKRS
AND A~BUDAT IN S_BUDAT
AND A~VRGNG = 'RKL' "생산 확정 처리
AND A~STFLG = SPACE
AND A~STOKZ = SPACE
AND B~PAROB <> 'OR'.
ENDFORM. " GET_MASTER_LIST
*&---------------------------------------------------------------------*
*& Form GT_LIST_EDIT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GT_LIST_EDIT .
DATA : LV_AUFNR LIKE AFRU-AUFNR,
LV_LMNGA LIKE AFRU-LMNGA,
LV_RMNGA LIKE AFRU-RMNGA,
LV_MEINH LIKE AFRU-MEINH,
LV_RUECK LIKE AFRU-RUECK,
LV_RMZHL LIKE AFRU-RMZHL,
LV_WERKS LIKE AFRU-WERKS,
LV_VORNR LIKE AFRU-VORNR,
LV_MEILR LIKE AFRU-MEILR.
LOOP AT GT_RESULT.
LV_RUECK = GT_RESULT-REFBN. "RUECK와 REFBN TYPE 맞지 않기 때문
LV_RMZHL = GT_RESULT-AWORG.
SELECT SINGLE AUFNR LMNGA RMNGA MEINH WERKS VORNR MEILR
INTO (LV_AUFNR, LV_LMNGA, LV_RMNGA, LV_MEINH, LV_WERKS, LV_VORNR,LV_MEILR)
FROM AFRU
WHERE RUECK = LV_RUECK
AND RMZHL = LV_RMZHL
AND WERKS IN S_WERKS
AND AUFNR IN S_AUFNR.
IF SY-SUBRC = 0.
GT_RESULT-AUFNR = LV_AUFNR.
GT_RESULT-LMNGA = LV_LMNGA.
GT_RESULT-RMNGA = LV_RMNGA.
GT_RESULT-MEINS = LV_MEINH.
GT_RESULT-WERKS = LV_WERKS.
GT_RESULT-VORNR = LV_VORNR.
GT_RESULT-MEILR = LV_MEILR.
IF GT_RESULT-RMNGA > 0.
GT_RESULT-ZREWORK = 'X'.
ENDIF.
MODIFY GT_RESULT.
ELSE.
DELETE GT_RESULT.
ENDIF.
CLEAR GT_RESULT.
ENDLOOP.
* Recycle이 체크된 경우 Rework 수량이 0인 것은 삭제
IF P_RECY IS NOT INITIAL.
DELETE GT_RESULT WHERE RMNGA IS INITIAL.
ENDIF.
ENDFORM. " GT_LIST_EDIT
*&---------------------------------------------------------------------*
*& Form GET_DESC_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DESC_DATA.
DATA: LT_RESULT LIKE TABLE OF GT_RESULT.
DATA: LV_INDEX LIKE SY-TABIX.
LT_RESULT[] = GT_RESULT[].
SORT LT_RESULT BY AUFNR.
SELECT A~AUFNR B~MATNR B~MAKTX INTO CORRESPONDING FIELDS OF TABLE GT_MAT
FROM AFPO AS A JOIN MAKT AS B
ON A~MATNR = B~MATNR
FOR ALL ENTRIES IN LT_RESULT
WHERE A~AUFNR = LT_RESULT-AUFNR
AND B~SPRAS = SY-LANGU.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKT
FROM CSKT
WHERE SPRAS = SY-LANGU
AND KOKRS = P_KOKRS.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSLT
FROM CSLT
WHERE SPRAS = SY-LANGU
AND KOKRS = P_KOKRS.
*GT_RESULT를 LOOP 돌리면서, 추가 필드 값 입력하기
SORT GT_MAT BY AUFNR.
SORT GT_CSKT BY KOSTL.
SORT GT_CSLT BY LSTAR.
LOOP AT GT_RESULT.
LV_INDEX = SY-TABIX.
IF GT_MAT[] IS NOT INITIAL.
READ TABLE GT_MAT WITH KEY AUFNR = GT_RESULT-AUFNR
BINARY SEARCH.
IF SY-SUBRC = 0.
GT_RESULT-MATNR = GT_MAT-MATNR.
GT_RESULT-MAKTX = GT_MAT-MAKTX.
ENDIF.
ENDIF.
IF GT_CSKT[] IS NOT INITIAL.
GT_RESULT-KOSTL = GT_RESULT-PAROB+6(10).
READ TABLE GT_CSKT WITH KEY KOSTL = GT_RESULT-KOSTL
BINARY SEARCH.
IF SY-SUBRC = 0.
GT_RESULT-KTEXT = GT_CSKT-KTEXT.
ENDIF.
ENDIF.
IF GT_CSLT[] IS NOT INITIAL.
GT_RESULT-LSTAR = GT_RESULT-PAROB+16(4).
READ TABLE GT_CSLT WITH KEY LSTAR = GT_RESULT-LSTAR
BINARY SEARCH.
GT_RESULT-LTEXT = GT_CSLT-LTEXT.
ENDIF.
MODIFY GT_RESULT INDEX LV_INDEX.
CLEAR: GT_RESULT, GT_MAT, GT_CSKT, GT_CSLT.
ENDLOOP.
ENDFORM. " GET_DESC_DATA
*&---------------------------------------------------------------------*
*& Form MAKE_HEADER_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MAKE_HEADER_DATA .
DATA: LT_RESULT LIKE TABLE OF GT_RESULT WITH HEADER LINE,
LT_ZMSEG LIKE TABLE OF ZMSEG WITH HEADER LINE.
DATA : BEGIN OF LT_GR OCCURS 0,
WERKS LIKE ZMSEG-WERKS,
BUDAT LIKE ZMSEG-BUDAT,
AUFNR LIKE ZMSEG-AUFNR,
MENGE LIKE ZMSEG-MENGE.
DATA : END OF LT_GR.
DATA : BEGIN OF LT_REWORK_SUM OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE AFRU-BUDAT,
AUFNR LIKE AFRU-AUFNR,
VORNR LIKE AFRU-VORNR,
RMNGA LIKE AFRU-RMNGA.
DATA : END OF LT_REWORK_SUM.
DATA : LV_AUFNR LIKE AFRU-AUFNR,
LV_RMNGA LIKE AFRU-RMNGA,
LV_RUECK LIKE AFRU-RUECK,
LV_RMZHL LIKE AFRU-RMZHL,
LV_WERKS LIKE AFRU-WERKS,
LV_VORNR LIKE AFRU-VORNR.
***** GT_RESULT 값을 GT_HEAD_ALV에 입력하기.(플랜트/전기일자/오더별 한 레코드)
CLEAR LT_RESULT[].
LT_RESULT[] = GT_RESULT[].
SORT LT_RESULT BY BUDAT AUFNR ZREWORK.
DELETE ADJACENT DUPLICATES FROM LT_RESULT COMPARING WERKS BUDAT AUFNR. " ZREWORK.
LOOP AT LT_RESULT.
MOVE-CORRESPONDING LT_RESULT TO GT_HEADER.
COLLECT GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
**** 정상생산량은 입고량으로 수정 함.(확정을 두번 이상한 경우 누락될 수 있음)
**** 플랜트/전기일자/생산오더별 입고량 정보 내부테이블 만들기(ZMSEG 아용)
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_ZMSEG
FROM ZMSEG
FOR ALL ENTRIES IN GT_HEADER
WHERE WERKS IN S_WERKS
AND BUDAT IN S_BUDAT
AND BWART IN ('101','102')
AND AUFNR EQ GT_HEADER-AUFNR.
LOOP AT LT_ZMSEG.
MOVE-CORRESPONDING LT_ZMSEG TO LT_GR.
IF LT_ZMSEG-BWART = '102'.
LT_GR-MENGE = LT_ZMSEG-MENGE * ( -1 ).
ENDIF.
COLLECT LT_GR. CLEAR LT_GR.
ENDLOOP.
**** 전기일자/생산오더별 입고량으로 정상 생산량 Update하기
LOOP AT GT_HEADER.
CLEAR GT_HEADER-LMNGA.
READ TABLE LT_GR WITH KEY WERKS = GT_HEADER-WERKS
BUDAT = GT_HEADER-BUDAT
AUFNR = GT_HEADER-AUFNR.
IF SY-SUBRC = 0.
GT_HEADER-LMNGA = LT_GR-MENGE.
ENDIF.
MODIFY GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
**** Rework량은 전기일자/생산오더별 가장 큰 량을 가져와 UPDATE 함.
**** Rework이 생산오더에 대해 AFRU테이블에서 Rework량을 오더/Operation별로 가져와 Sum하기
CLEAR LT_RESULT[].
LT_RESULT[] = GT_RESULT[].
DELETE LT_RESULT WHERE ZREWORK = SPACE.
SORT LT_RESULT BY AUFNR.
DELETE ADJACENT DUPLICATES FROM LT_RESULT COMPARING AUFNR.
LOOP AT LT_RESULT.
LV_RUECK = LT_RESULT-REFBN. "RUECK와 REFBN TYPE 맞지 않기 때문
LV_RMZHL = LT_RESULT-AWORG.
SELECT SINGLE AUFNR RMNGA WERKS VORNR
INTO (LV_AUFNR, LV_RMNGA, LV_WERKS, LV_VORNR )
FROM AFRU
WHERE RUECK = LV_RUECK
AND RMZHL = LV_RMZHL.
LT_REWORK_SUM-WERKS = LV_WERKS.
LT_REWORK_SUM-BUDAT = LT_RESULT-BUDAT.
LT_REWORK_SUM-AUFNR = LV_AUFNR.
LT_REWORK_SUM-VORNR = LV_VORNR.
LT_REWORK_SUM-RMNGA = LV_RMNGA.
COLLECT LT_REWORK_SUM.
ENDLOOP.
SORT LT_REWORK_SUM BY WERKS AUFNR VORNR RMNGA ASCENDING.
LOOP AT GT_HEADER.
CLEAR GT_HEADER-RMNGA.
READ TABLE LT_REWORK_SUM WITH KEY WERKS = GT_HEADER-WERKS
BUDAT = GT_HEADER-BUDAT
AUFNR = GT_HEADER-AUFNR.
IF SY-SUBRC = 0.
GT_HEADER-RMNGA = LT_REWORK_SUM-RMNGA.
ENDIF.
MODIFY GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
SORT GT_HEADER BY WERKS BUDAT MATNR AUFNR.
ENDFORM. " MAKE_HEADER_DATA
*&---------------------------------------------------------------------*
*& Form GET_DETAIL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DETAIL_DATA .
*GT_RESULT 값을 GT_DETAIL에 입력하기.
CLEAR: GT_DETAIL, GT_DETAIL[].
LOOP AT GT_RESULT.
MOVE-CORRESPONDING GT_RESULT TO GT_DETAIL.
COLLECT GT_DETAIL.
CLEAR GT_DETAIL.
ENDLOOP.
SORT GT_DETAIL BY WERKS BUDAT MATNR AUFNR LSTAR.
ENDFORM. " GET_DETAIL_DATA
*&---------------------------------------------------------------------*
*& Form GET_SUM_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_SUM_DATA .
*GT_RESULT 값을 GT_SUM에 입력하기.
CLEAR: GT_SUM, GT_SUM[].
LOOP AT GT_RESULT.
MOVE-CORRESPONDING GT_RESULT TO GT_SUM.
IF GT_RESULT-RMNGA > 0. "REWORK
GT_SUM-MEGBTR_W = GT_RESULT-MEGBTR.
GT_SUM-WTGBTR_W = GT_RESULT-WTGBTR.
ELSE.
GT_SUM-MEGBTR_Y = GT_RESULT-MEGBTR.
GT_SUM-WTGBTR_Y = GT_RESULT-WTGBTR.
ENDIF.
COLLECT GT_SUM.
CLEAR GT_SUM.
ENDLOOP.
SORT GT_SUM BY WERKS MATNR LSTAR.
ENDFORM. " GET_SUM_DATA
*&---------------------------------------------------------------------*
*& Form METHOD_DOUBLE_CLICK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_ROW_INDEX text
* -->P_E_COLUMN_FIELDNAME text
*----------------------------------------------------------------------*
FORM METHOD_DOUBLE_CLICK USING P_ROW TYPE LVC_S_ROW-INDEX
P_COLUMN TYPE LVC_S_COL-FIELDNAME.
DATA : LT_HEADER LIKE GT_HEADER.
CHECK NOT P_ROW IS INITIAL.
READ TABLE GT_HEADER INTO LT_HEADER INDEX P_ROW.
CHECK SY-SUBRC = 0 AND NOT LT_HEADER IS INITIAL.
CASE P_COLUMN.
WHEN 'AUFNR'.
READ TABLE GT_HEADER INDEX P_ROW.
CHECK GT_HEADER-AUFNR NE SPACE.
READ TABLE GT_HEADER WITH KEY AUFNR = GT_HEADER-AUFNR
RMNGA = 0.
GT_ITAB-LMNGA = GT_HEADER-LMNGA.
GT_ITAB-MEINH = GT_HEADER-MEINS.
READ TABLE GT_HEADER WITH KEY AUFNR = GT_HEADER-AUFNR
LMNGA = 0.
GT_ITAB-RMNGA = GT_HEADER-RMNGA.
GT_ITAB-MEINH2 = GT_HEADER-MEINS.
PERFORM GET_YIELD_REWORK_ITEM.
CALL SCREEN 400 STARTING AT 2 2 ENDING AT 80 22.
WHEN OTHERS.
ENDCASE.
ENDFORM. " METHOD_DOUBLE_CLICK
*&---------------------------------------------------------------------*
*& Form GET_YIELD_REWORK_ITEM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_YIELD_REWORK_ITEM .
CLEAR: GT_RESULT, GT_YIELD, GT_REWORK, GT_YIELD[], GT_REWORK[].
LOOP AT GT_RESULT WHERE AUFNR EQ GT_HEADER-AUFNR.
IF GT_RESULT-LMNGA > 0.
MOVE-CORRESPONDING GT_RESULT TO GT_YIELD.
APPEND GT_YIELD.
ELSE.
MOVE-CORRESPONDING GT_RESULT TO GT_REWORK.
APPEND GT_REWORK.
ENDIF.
CLEAR: GT_YIELD, GT_REWORK.
SORT GT_YIELD BY LSTAR.
SORT GT_REWORK BY LSTAR.
ENDLOOP.
ENDFORM. " GET_YIELD_REWORK_ITEM
*&---------------------------------------------------------------------*
*& Form GLOBAL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GLOBAL_DATA .
* GT_ITAB-LMNGA, = GT_HEADER-LMNGA.
* GT_ITAB-RMNGA = GT_HEADER-RMNGA.
* GT_ITAB-MEINH = GT_HEADER-MEINS.
* GT_ITAB-MEINH2 = GT_HEADER-MEINS.
ENDFORM. " GLOBAL_DATA
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_F02
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form ALV_VARIANT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_VARIANT .
CLEAR GS_VARIANT.
GS_VARIANT-REPORT = SY-REPID. "프로그램명
GS_VARIANT-USERNAME = SY-UNAME. "사용자
ENDFORM. " ALV_VARIANT
*&---------------------------------------------------------------------*
*& Form ALV_SORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_SORT .
CLEAR : GS_SORT, GS_SORT[].
PERFORM SORT_FIELD TABLES GS_SORT USING :
1 C_WERKS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
2 C_BUDAT C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
3 C_AUFNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
4 C_MATNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
5 C_MAKTX C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
6 C_MEINS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
7 C_KOSTL C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
8 C_KTEXT C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
9 C_LSTAR C_X C_ C_.
ENDFORM. " ALV_SORT
*&---------------------------------------------------------------------*
*& Form ALV_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_LAYOUT .
CLEAR GS_LAYOUT.
GS_LAYOUT-SEL_MODE = C_A.
GS_LAYOUT-ZEBRA = C_X. " LINE COLOR
GS_LAYOUT-CWIDTH_OPT = C_. " ALV 제어: 열너비최적화
GS_LAYOUT-INFO_FNAME = C_INFO. " ROW COLOR.
GS_LAYOUT-CTAB_FNAME = C_COLINFO. " COLUMN COLOR.
GS_LAYOUT-STYLEFNAME = C_STYLE.
GS_LAYOUT-NO_ROWMARK = ' '.
* GS_LAYOUT-GRID_TITLE = SY-TITLE.
ENDFORM. " ALV_LAYOUT
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG .
CLEAR: GS_FIELDCAT, GS_FIELDCAT[], G_POS,
GT_FIELDCAT, GT_FIELDCAT[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP
I_INCLNAME = 'ZPPREWORK02_TOP'
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT.
CASE GT_FIELDCAT-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Plant'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'BUDAT'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Posting Date'
GT_FIELDCAT-DATATYPE
'12'
C_X C_ C_ 'C' C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'AUFNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Order No'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Material'
GT_FIELDCAT-DATATYPE
'12'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Mat. Desc'
GT_FIELDCAT-DATATYPE
'20'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Yield Qty'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_X C_ C_ C_ C_ C_ C_ 'MEINS'.
WHEN 'RMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Rework Qty'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_X C_ C_ C_ C_ C_ C_ 'MEINS'.
WHEN 'MEINS'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Qty. Unit'
GT_FIELDCAT-DATATYPE
'8'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Cost Center'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'C.C Desc'
GT_FIELDCAT-DATATYPE
'16'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
GT_FIELDCAT-REPTEXT_DDIC
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG
*&---------------------------------------------------------------------*
*& Form ALV_TOOLBAR_EXCLUDE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_TOOLBAR_EXCLUDE .
DATA LS_EXCLUDE TYPE UI_FUNC.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXCL_ALL. " ** 툴바 모두제거 **
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO. " 실행취소 &LOCAL&UNDO
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_AUF. " 소계확장 &AUF
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_AVERAGE. " &AVERAGE
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_BACK_CLASSIC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_ABC. " &ABC
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CHAIN.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CRBATCH.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CRWEB.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_LINEITEMS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_MASTER_DATA.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_MORE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_REPORT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_XINT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_XXL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_COL_INVISIBLE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_COL_OPTIMIZE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CURRENT_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DATA_SAVE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DELETE_FILTER.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DESELECT_ALL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DETAIL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRDATA.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRDESIG.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRTEMPL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPMDB.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXTEND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_F4.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FILTER.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FIND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FIX_COLUMNS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_GRAPH.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_HELP.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_INFO.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOAD_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY. " 행 카피.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_HTML.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW. " 행 카피.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT. " 가위.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW. " 행삭제.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW. " 행삽입.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW. " 라인생성.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE. " 겹쳐쓰기.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW. " 겹쳐쓰기.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MAINTAIN_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MAXIMUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MINIMUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PC_FILE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT_BACK.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT_PREV.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_REFRESH. " 새로고침.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_REPREP.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SAVE_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SELECT_ALL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SEND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SEPARATOR.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_ASC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_DSC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUBTOT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_TO_OFFICE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_TO_REP_TREE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_UNFIX_COLUMNS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEWS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_CRYSTAL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_EXCEL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_GRID.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_WORD_PROCESSOR.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
ENDFORM. " ALV_TOOLBAR_EXCLUDE
*&---------------------------------------------------------------------*
*& Form SORT_FIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GS_SORT text
* -->P_1 text
* -->P_C_WERKS text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM SORT_FIELD TABLES P_GS_SORT TYPE LVC_T_SORT
USING P_SPOS
P_FIELDNAME
P_UP
P_DOWN
P_SUBTOT.
P_GS_SORT-SPOS = P_SPOS.
P_GS_SORT-FIELDNAME = P_FIELDNAME.
P_GS_SORT-UP = P_UP.
P_GS_SORT-DOWN = P_DOWN.
P_GS_SORT-SUBTOT = P_SUBTOT.
APPEND P_GS_SORT.
ENDFORM. " SORT_FIELD
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT_FIELDNAME text
* -->P_0091 text
* -->P_GT_FIELDCAT_DATATYPE text
* -->P_GT_FIELDCAT_INTLEN text
* -->P_C_X text
* -->P_C_X text
* -->P_C_ text
* -->P_0097 text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG-COL_POS = G_POS. "colum position
GS_FIELDCATALOG-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG-KEY = P_KEY. "Key.
GS_FIELDCATALOG-JUST = P_JUST. "위치.
GS_FIELDCATALOG-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG TO GS_FIELDCAT. CLEAR GS_FIELDCATALOG.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG2 .
CLEAR: GS_FIELDCAT2, GS_FIELDCAT2[], G_POS,
GT_FIELDCAT2, GT_FIELDCAT2[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP2
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT2[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT2.
CASE GT_FIELDCAT2-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Plant'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'BUDAT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Posting Date'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ 'C' C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Material'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Mat. Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'AUFNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Order No'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MEINS'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Qty. Unit'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Cost Center'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'C.C Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Type'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Yield Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'RMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Rework Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Unit'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Value'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Currency'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
GT_FIELDCAT2-REPTEXT_DDIC
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG2
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT2_FIELDNAME text
* -->P_GT_FIELDCAT2_REPTEXT_DDIC text
* -->P_GT_FIELDCAT2_DATATYPE text
* -->P_GT_FIELDCAT2_INTLEN text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN2 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG2-COL_POS = G_POS. "colum position
GS_FIELDCATALOG2-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG2-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG2-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG2-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG2-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG2-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG2-KEY = P_KEY. "Key.
GS_FIELDCATALOG2-JUST = P_JUST. "위치.
GS_FIELDCATALOG2-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG2-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG2-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG2-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG2-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG2-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG2-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG2-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG2 TO GS_FIELDCAT2. CLEAR GS_FIELDCATALOG2.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN2
*&---------------------------------------------------------------------*
*& Form ALV_SORT3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_SORT3 .
CLEAR : GS_SORT, GS_SORT[].
PERFORM SORT_FIELD TABLES GS_SORT USING :
1 C_WERKS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
2 C_MATNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
3 C_MAKTX C_X C_ C_.
ENDFORM. " ALV_SORT3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG3 .
CLEAR: GS_FIELDCAT3, GS_FIELDCAT3[], G_POS,
GT_FIELDCAT3, GT_FIELDCAT3[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP3
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT3[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT3.
CASE GT_FIELDCAT3-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Plant'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Material'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Mat. Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Cost Center'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'C.C Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Activity Type'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR_Y'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Yield Activity Qty'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEGBTR_W'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Recycle Activity Qty'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Activity Unit'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR_Y'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Yield Value'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'WTGBTR_W'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Recyle Value'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Currency'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
GT_FIELDCAT3-REPTEXT_DDIC
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT3_FIELDNAME text
* -->P_1155 text
* -->P_GT_FIELDCAT3_DATATYPE text
* -->P_GT_FIELDCAT3_INTLEN text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN3 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG3-COL_POS = G_POS. "colum position
GS_FIELDCATALOG3-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG3-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG3-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG3-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG3-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG3-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG3-KEY = P_KEY. "Key.
GS_FIELDCATALOG3-JUST = P_JUST. "위치.
GS_FIELDCATALOG3-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG3-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG3-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG3-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG3-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG3-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG3-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG3-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG3 TO GS_FIELDCAT3. CLEAR GS_FIELDCATALOG3.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG4 .
CLEAR: GS_FIELDCAT4, GS_FIELDCAT4[], G_POS,
GT_FIELDCAT4, GT_FIELDCAT4[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP4
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT4[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT4.
CASE GT_FIELDCAT4-FIELDNAME.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Type'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Qty'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Unit'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Value'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Currency'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
* WHEN OTHERS.
* PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
* GT_FIELDCAT4-FIELDNAME
* GT_FIELDCAT4-REPTEXT_DDIC
* GT_FIELDCAT4-DATATYPE
* GT_FIELDCAT4-INTLEN
* C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG4
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG5
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG5 .
CLEAR: GS_FIELDCAT5, GS_FIELDCAT5[], G_POS,
GT_FIELDCAT5, GT_FIELDCAT5[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP5
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT5[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT5.
CASE GT_FIELDCAT5-FIELDNAME.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Type'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Qty'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Unit'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Value'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Currency'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
* WHEN OTHERS.
* PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
* GT_FIELDCAT5-FIELDNAME
* GT_FIELDCAT5-REPTEXT_DDIC
* GT_FIELDCAT5-DATATYPE
* GT_FIELDCAT5-INTLEN
* C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG5
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN5
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT5_FIELDNAME text
* -->P_GT_FIELDCAT5_REPTEXT_DDIC text
* -->P_GT_FIELDCAT5_DATATYPE text
* -->P_GT_FIELDCAT5_INTLEN text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN5 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG5-COL_POS = G_POS. "colum position
GS_FIELDCATALOG5-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG5-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG5-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG5-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG5-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG5-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG5-KEY = P_KEY. "Key.
GS_FIELDCATALOG5-JUST = P_JUST. "위치.
GS_FIELDCATALOG5-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG5-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG5-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG5-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG5-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG5-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG5-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG5-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG5 TO GS_FIELDCAT5. CLEAR GS_FIELDCATALOG5.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN5
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT2_FIELDNAME text
* -->P_1570 text
* -->P_GT_FIELDCAT2_DATATYPE text
* -->P_GT_FIELDCAT2_INTLEN text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN4 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG4-COL_POS = G_POS. "colum position
GS_FIELDCATALOG4-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG4-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG4-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG4-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG4-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG4-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG4-KEY = P_KEY. "Key.
GS_FIELDCATALOG4-JUST = P_JUST. "위치.
GS_FIELDCATALOG4-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG4-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG4-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG4-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG4-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG4-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG4-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG4-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG4 TO GS_FIELDCAT4. CLEAR GS_FIELDCATALOG4.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN4
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '100'.
SET TITLEBAR '100'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_HEADER OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_HEADER OUTPUT.
* DATA : L_TEXT TYPE SDYDO_TEXT_ELEMENT,
* L_KURSF(20) ,
* L_LTEXT LIKE TCURT-LTEXT ,
* L_VTEXT LIKE TKVST-VTEXT .
*
* CHECK G_DD_DOC IS INITIAL.
* CREATE OBJECT G_DD_DOC
* EXPORTING
* BACKGROUND_COLOR = 2.
*
* WRITE : 'GLS Goods Movement Monitoring' TO L_TEXT.
*
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING.
*
** WRITE : SY-DATUM TO L_TEXT.
*
* CONCATENATE 'Baseline Date : ' sy-datum(4) '/' sy-datum+4(2) '/'
* sy-datum+6(2) INTO L_TEXT SEPARATED BY SPACE.
*
* CALL METHOD G_DD_DOC->NEW_LINE.
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING.
*
* CALL METHOD G_DD_DOC->NEW_LINE.
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING. "MEDIUM.
*
* CALL METHOD G_DD_DOC->DISPLAY_DOCUMENT
* EXPORTING
* CONTAINER = 'G_ALV_GRID3'.
ENDMODULE. " ALV_HEADER OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY OUTPUT.
IF GS_CUSTOM_CONTAINER IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = C_CONTAINER.
CREATE OBJECT GS_ALV_GRID
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER.
PERFORM ALV_VARIANT. "<-- ALV Variant
* PERFORM ALV_SORT. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_HEADER[]
IT_FIELDCATALOG = GS_FIELDCAT[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS '200'.
SET TITLEBAR '200'.
ENDMODULE. " STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_200 OUTPUT.
IF GS_CUSTOM_CONTAINER2 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER2 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER2->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER2
EXPORTING
CONTAINER_NAME = C_CONTAINER2.
CREATE OBJECT GS_ALV_GRID2
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER2.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_SORT. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG2. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_DETAIL[]
IT_FIELDCATALOG = GS_FIELDCAT2[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID2.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID2.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID2.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID2->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID2->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID2->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID2.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_200 OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0300 OUTPUT.
SET PF-STATUS '300'.
SET TITLEBAR '300'.
ENDMODULE. " STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_300 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_300 OUTPUT.
IF GS_CUSTOM_CONTAINER3 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER3 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER3->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER3
EXPORTING
CONTAINER_NAME = C_CONTAINER3.
CREATE OBJECT GS_ALV_GRID3
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER3.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_SORT3. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG3. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID3->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_SUM[]
IT_FIELDCATALOG = GS_FIELDCAT3[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID3.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID3.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID3.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID3->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID3->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID3->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID3.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_300 OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0400 OUTPUT.
SET PF-STATUS '400'.
SET TITLEBAR '400'.
PERFORM GLOBAL_DATA.
ENDMODULE. " STATUS_0400 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_400 OUTPUT.
************************************************************************
* YIELD SCREEN
************************************************************************
IF GS_CUSTOM_CONTAINER4 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER4 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER4->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER4
EXPORTING
CONTAINER_NAME = C_CONTAINER4.
CREATE OBJECT GS_ALV_GRID4
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER4.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG4. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID4->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_YIELD[]
IT_FIELDCATALOG = GS_FIELDCAT4[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID4.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID4.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID4.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID4->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
************************************************************************
* REWORK SCREEN
************************************************************************
IF GS_CUSTOM_CONTAINER5 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER5 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER5->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER5
EXPORTING
CONTAINER_NAME = C_CONTAINER5.
CREATE OBJECT GS_ALV_GRID5
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER5.
PERFORM ALV_VARIANT. "<-- ALV Variant
* PERFORM ALV_SORT3. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG5. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID5->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_REWORK[]
IT_FIELDCATALOG = GS_FIELDCAT5[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID5.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID5.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID5.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID5->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID5->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID5->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID5.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_400 OUTPUT
*&---------------------------------------------------------------------*
*& Module GET_DATA INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE GET_DATA INPUT.
GT_ITAB-LMNGA = GT_HEADER-LMNGA.
GT_ITAB-RMNGA = GT_HEADER-RMNGA.
GT_ITAB-MEINH = GT_HEADER-MEINS.
GT_ITAB-MEINH2 = GT_HEADER-MEINS.
ENDMODULE. " GET_DATA INPUT
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_I01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
CASE SY-UCOMM.
WHEN C_BACK OR C_CANC.
LEAVE TO SCREEN 0.
WHEN C_EXIT.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " EXIT INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN C_EXPAND.
PERFORM GET_DETAIL_DATA.
IF GT_DETAIL[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
CALL SCREEN 200.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0200 INPUT.
CASE SY-UCOMM.
WHEN C_COLLAP.
LEAVE TO SCREEN 0.
WHEN C_ACTSUM.
PERFORM GET_SUM_DATA.
IF GT_SUM[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
CALL SCREEN 300.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0300 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0300 INPUT.
* CASE SY-UCOMM.
* WHEN C_BACK OR C_CANC.
** CALL METHOD GS_CUSTOM_CONTAINER3->FREE.
** CALL METHOD CL_GUI_CFW=>FLUSH.
* LEAVE TO SCREEN 0.
* WHEN C_EXIT.
* LEAVE PROGRAM.
* ENDCASE.
ENDMODULE. " USER_COMMAND_0300 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0400 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0400 INPUT.
CASE SY-UCOMM.
WHEN 'CLOSE' OR 'END'.
LEAVE TO SCREEN 0.
WHEN C_EXIT.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0400 INPUT
*& Report ZPPREWORK02
*&---------------------------------------------------------------------*
*& [VIETNAM CJ-FIV] Activity Type Quantity Analysis
*&---------------------------------------------------------------------*
* Description : [VIETNAM CF-FIV] Activity Type Quantity Analysis *
*
* Dev. Request No : *
***********************************************************************
* MODIFICATION LOG : *
***********************************************************************
* Date Rev# Programmer Description *
* ---------- ---- ----------------- -------------------------------*
* 2016.12.01 1.0 VIETNAMDEV New Created
*&--------------------------------------------------------------------*
REPORT ZPPREWORK02 NO STANDARD PAGE HEADING MESSAGE-ID ZDPP LINE-SIZE 1023.
***********************************************************************
*INCLUDE.
***********************************************************************
INCLUDE <ICON>.
INCLUDE ZPPREWORK02_C01.
INCLUDE ZPPREWORK02_TOP.
INCLUDE ZPPREWORK02_F01.
INCLUDE ZPPREWORK02_F02.
INCLUDE ZPPREWORK02_O01.
INCLUDE ZPPREWORK02_I01.
***********************************************************************
*INITIALIZATION.
***********************************************************************
INITIALIZATION.
PERFORM INIT_DATE.
***********************************************************************
*START-OF-SELECTION.
***********************************************************************
START-OF-SELECTION.
PERFORM GET_MASTER_LIST.
PERFORM GT_LIST_EDIT.
IF GT_RESULT[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
PERFORM GET_DESC_DATA.
PERFORM MAKE_HEADER_DATA.
CALL SCREEN 100.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_C01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& CLASS DEFINITIAL
*&---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_DATA_CHANGED
FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
IMPORTING ER_DATA_CHANGED,
HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID,
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
ENDCLASS. "LCL_EVENT_RECEIVER DEFINITION
*---------------------------------------------------------------------*
* CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DATA_CHANGED.
ENDMETHOD. "HANDLE_DATA_CHANGED
METHOD HANDLE_HOTSPOT_CLICK.
* PERFORM METHOD_HOTSPOT_CLICK USING E_ROW_ID E_COLUMN_ID.
ENDMETHOD. "HANDLE_HOTSPOT_CLICK
METHOD HANDLE_DOUBLE_CLICK.
PERFORM METHOD_DOUBLE_CLICK USING E_ROW-INDEX
E_COLUMN-FIELDNAME.
ENDMETHOD. "HANDLE_DOUBLE_CLICK
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
* LOCAL CLASSES: Definition
*---------------------------------------------------------------------*
CLASS LCL_ALV_GRID DEFINITION INHERITING FROM CL_GUI_ALV_GRID.
PUBLIC SECTION.
METHODS: SET_OPTIMIZE_ALL_COLS.
ENDCLASS. "LCL_AlV_GRID DEFINITION
*---------------------------------------------------------------------*
* CLASS LCL_AlV_GRID IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS LCL_ALV_GRID IMPLEMENTATION.
METHOD SET_OPTIMIZE_ALL_COLS.
CALL METHOD ME->OPTIMIZE_ALL_COLS
EXPORTING
INCLUDE_HEADER = 1.
ENDMETHOD. "SET_OPTIMIZE_ALL_COLS
ENDCLASS. "LCL_ALV_GRID IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_TOP
*&---------------------------------------------------------------------*
***********************************************************************
* TABLES & TYPE-POOLS
***********************************************************************
TABLES : CSKT, CSLT, COBK, AFRU, ZMSEG.
TYPE-POOLS: ICON, SLIS, VRM, OLE2.
***********************************************************************
** Internal Table & Data
***********************************************************************
DATA: BEGIN OF GT_RESULT OCCURS 0,
KOKRS LIKE COBK-KOKRS,
BELNR LIKE COBK-BELNR,
REFBN LIKE COBK-REFBN,
AWORG LIKE COBK-AWORG,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
PAROB LIKE COEP-PAROB,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER,
AUFNR LIKE AFRU-AUFNR,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
WERKS LIKE AFRU-WERKS,
VORNR LIKE AFRU-VORNR,
MEILR LIKE AFRU-MEILR,
ZREWORK(1).
DATA: END OF GT_RESULT.
DATA: BEGIN OF GT_HEADER OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
AUFNR LIKE AFRU-AUFNR,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT. "Cost Center Desc
DATA: END OF GT_HEADER.
DATA: BEGIN OF GT_DETAIL OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
AUFNR LIKE AFRU-AUFNR,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_DETAIL.
DATA: BEGIN OF GT_SUM OCCURS 0,
WERKS LIKE AFRU-WERKS,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR_Y LIKE COEP-MEGBTR, "Yield Actity Qty
MEGBTR_W LIKE COEP-MEGBTR, "Recycle Actity Qty
MEINH LIKE COEP-MEINH,
WTGBTR_Y LIKE COVP-WTGBTR, "Yield Value
WTGBTR_W LIKE COVP-WTGBTR, "Recycle Value
TWAER LIKE COVP-TWAER.
DATA: END OF GT_SUM.
DATA: BEGIN OF GT_MAT OCCURS 0,
AUFNR LIKE AFPO-AUFNR,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX.
DATA: END OF GT_MAT.
DATA: BEGIN OF GT_YIELD OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_YIELD.
DATA: BEGIN OF GT_REWORK OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF GT_REWORK.
DATA: GT_CSKT LIKE TABLE OF CSKT WITH HEADER LINE,
GT_CSLT LIKE TABLE OF CSLT WITH HEADER LINE.
DATA: BEGIN OF ITAB OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
AUFNR LIKE AFRU-AUFNR,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
END OF ITAB.
DATA: BEGIN OF ITAB2 OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE COBK-BUDAT,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
AUFNR LIKE AFRU-AUFNR,
MEINS LIKE AFRU-MEINH,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB2.
DATA: BEGIN OF ITAB3 OCCURS 0,
WERKS LIKE AFRU-WERKS,
MATNR LIKE AFPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
KOSTL LIKE CSKT-KOSTL, "Cost Center
KTEXT LIKE CSKT-KTEXT, "Cost Center Desc
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR_Y LIKE COEP-MEGBTR, "Yield Actity Qty
MEGBTR_W LIKE COEP-MEGBTR, "Recycle Actity Qty
MEINH LIKE COEP-MEINH,
WTGBTR_Y LIKE COVP-WTGBTR, "Yield Value
WTGBTR_W LIKE COVP-WTGBTR, "Recycle Value
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB3.
DATA: BEGIN OF ITAB4 OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB4.
DATA: BEGIN OF ITAB5 OCCURS 0,
LSTAR LIKE CSLT-LSTAR, "Activity type
LTEXT LIKE CSLT-LTEXT, "Activity type Desc
MEGBTR LIKE COEP-MEGBTR,
MEINH LIKE COEP-MEINH,
WTGBTR LIKE COVP-WTGBTR,
TWAER LIKE COVP-TWAER.
DATA: END OF ITAB5.
DATA: BEGIN OF GT_ITAB OCCURS 0,
LMNGA LIKE AFRU-LMNGA,
RMNGA LIKE AFRU-RMNGA,
MEINH LIKE COEP-MEINH,
MEINH2 LIKE COEP-MEINH.
DATA: END OF GT_ITAB.
DATA: GV_LMNGA LIKE AFRU-LMNGA.
DATA: GV_RMNGA LIKE AFRU-RMNGA.
DATA: GV_MEINH LIKE COEP-MEINH.
DATA: GV_MEINH2 LIKE COEP-MEINH.
***********************************************************************
* Screen
***********************************************************************
* 기본 SET
DATA : GV_SEL_FIELD LIKE HELP_INFO-FIELDNAME,
GT_FIELDS LIKE HELP_VALUE OCCURS 1 WITH HEADER LINE,
GV_SEL_VALUE LIKE HELP_INFO-FLDVALUE,
GV_TABIX LIKE SY-TABIX.
DATA : G_LNO TYPE I.
* 화면 필드 선언. -> 선택된 값을 화면 필드에 뿌려줄 때 사용.
* 화면 필드 선언. -> 선택된 값을 화면 필드에 뿌려줄 때 사용.
DATA : GT_DYNP LIKE DYNPREAD OCCURS 0 WITH HEADER LINE. "NO ENTERENTRY
DATA : BEGIN OF FIELDS OCCURS 0.
INCLUDE STRUCTURE HELP_VALUE.
DATA : END OF FIELDS.
DATA : BEGIN OF DYNPFIELDS OCCURS 0.
INCLUDE STRUCTURE DYNPREAD.
DATA : END OF DYNPFIELDS.
DATA : BEGIN OF VALUETAB OCCURS 0,
VALUE(80).
DATA : END OF VALUETAB.
DATA : BEGIN OF SELECT_VALUES OCCURS 0.
INCLUDE STRUCTURE HELP_VTAB.
DATA : END OF SELECT_VALUES.
***************** 광역 변수 선언
DATA : OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE SY-UCOMM,
G_RFCDEST LIKE RFCDES-RFCDEST,
G_RTUN_C(2), "RFC Return code
G_RTUN_T(100). "RFD Return Text
***************** ALV
TYPE-POOLS : VRM, " for Dropdown Listbox
SLIS.
*----------------------------------------------------------------------*
* TYPE
*----------------------------------------------------------------------*
DATA : GS_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER3 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER4 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_CUSTOM_CONTAINER5 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_ALV_GRID TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID2 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID3 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID4 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_ALV_GRID5 TYPE REF TO LCL_ALV_GRID, " Local alv grid
GS_VARIANT TYPE DISVARIANT, " Layout (External Use)
GS_LAYOUT TYPE LVC_S_LAYO, " ALV control: Layout
GS_FIELDCAT TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT2 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT3 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT4 TYPE LVC_T_FCAT, " Field Catalog for List
GS_FIELDCAT5 TYPE LVC_T_FCAT, " Field Catalog for List
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT3 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT4 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDCAT5 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GS_FIELDCATALOG TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG2 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG3 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG4 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_FIELDCATALOG5 TYPE LVC_T_FCAT WITH HEADER LINE,
GS_SORT TYPE TABLE OF LVC_S_SORT, "Field sort
GS_EXCLUDE TYPE UI_FUNCTIONS, "ALV Toolbar dim
GS_COLOR TYPE LVC_T_SCOL WITH HEADER LINE, "ALV color
GS_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER, "ALV Event
GS_SELFIELD TYPE SLIS_SELFIELD, "ALV Selected
GS_DROPDOWN TYPE LVC_T_DROP, "ALV List box
GS_CELLTAB TYPE LVC_T_STYL WITH HEADER LINE,"ALVControl
GS_ROWS TYPE LVC_T_ROW, "ALV 제어: 테이블행
GS_ROW TYPE LVC_S_ROW, "ALV 제어: 라인내역
GS_ROID TYPE LVC_T_ROID, "라인 ID에 라인번호 지정
GS_STBL TYPE LVC_S_STBL. "최신표시 안정성
*----------------------------------------------------------------------*
* VARIABLE
*----------------------------------------------------------------------*
DATA : G_POS TYPE I, "ALV Display position
G_IND LIKE SY-TABIX. "Possible entry index
DATA : G_TEXT(50) TYPE C, "Process percentage info
G_LINES TYPE I VALUE 1, "Indicator line
G_PERCENTAGE TYPE P, "Indicator percentage
G_GREEN LIKE ICONS-L4 VALUE '@08@', "녹색
G_YELLOW LIKE ICONS-L4 VALUE '@09@', "노란색
G_RED LIKE ICONS-L4 VALUE '@0A@', "붉은색
G_MOD TYPE I, "Line 홀수/짝수
G_CHAR TYPE C, "색깔 정보
G_CONSTANT(1) TYPE C VALUE 'C', "Color constants
G_ON(1) TYPE C VALUE 1, "Intensified on
G_OFF(1) TYPE C VALUE 0. "Intensified off
*----------------------------------------------------------------------*
* CONSTANT
*----------------------------------------------------------------------*
CONSTANTS : C_CONTAINER TYPE SCRFNAME VALUE 'G_ALV_GRID', "ALV
C_CONTAINER2 TYPE SCRFNAME VALUE 'G_ALV_GRID2', "ALV
C_CONTAINER3 TYPE SCRFNAME VALUE 'G_ALV_GRID3', "ALV
C_CONTAINER4 TYPE SCRFNAME VALUE 'G_ALV_GRID4', "ALV
C_CONTAINER5 TYPE SCRFNAME VALUE 'G_ALV_GRID5', "ALV
C_GT_TEMP TYPE SLIS_TABNAME VALUE 'ITAB',
C_GT_TEMP2 TYPE SLIS_TABNAME VALUE 'ITAB2',
C_GT_TEMP3 TYPE SLIS_TABNAME VALUE 'ITAB3',
C_GT_TEMP4 TYPE SLIS_TABNAME VALUE 'ITAB4',
C_GT_TEMP5 TYPE SLIS_TABNAME VALUE 'ITAB5',
C_GT_LIST(7) TYPE C VALUE 'GT_LIST',
C_(1) TYPE C VALUE ' ', "Empty flag
C_INFO(4) TYPE C VALUE 'INFO', "INFO
C_COLINFO(7) TYPE C VALUE 'COLINFO', "COLINFO
C_STYLE(5) TYPE C VALUE 'STYLE', "STYLE
* ALV FIELD NAME
C_WERKS(5) TYPE C VALUE 'WERKS',
C_BUDAT(5) TYPE C VALUE 'BUDAT',
C_AUFNR(5) TYPE C VALUE 'AUFNR',
C_MATNR(5) TYPE C VALUE 'MATNR',
C_MAKTX(24) TYPE C VALUE 'MAKTX',
C_MEINS(5) TYPE C VALUE 'MEINS',
C_KOSTL(5) TYPE C VALUE 'KOSTL',
C_KTEXT(5) TYPE C VALUE 'KTEXT',
C_LSTAR(5) TYPE C VALUE 'LSTAR',
C_LMNGA(5) TYPE C VALUE 'LMNGA',
C_RMNGA(5) TYPE C VALUE 'RMNGA',
* ALV DATA LENGTH
C_18(2) TYPE C VALUE '18',
* DATA TYPE
C_CHAR(4) TYPE C VALUE 'CHAR',
C_QUAN(4) TYPE C VALUE 'QUAN',
C_DEC(3) TYPE C VALUE 'DEC',
C_CURR(6) TYPE C VALUE 'C_CURR',
* STATUS TYPE
C_BACK(4) TYPE C VALUE 'BACK',
C_EXIT(4) TYPE C VALUE 'EXIT',
C_CANC(4) TYPE C VALUE 'CANC',
C_EXPAND(6) TYPE C VALUE 'EXPAND',
C_COLLAP(6) TYPE C VALUE 'COLLAP',
C_ACTSUM(6) TYPE C VALUE 'ACTSUM',
* 알파벳
C_A(1) TYPE C VALUE 'A',
C_B(1) TYPE C VALUE 'B',
C_C(1) TYPE C VALUE 'C',
C_D(1) TYPE C VALUE 'D',
C_E(1) TYPE C VALUE 'E',
C_F(1) TYPE C VALUE 'F',
C_G(1) TYPE C VALUE 'G',
C_H(1) TYPE C VALUE 'H',
C_I(1) TYPE C VALUE 'I',
C_J(1) TYPE C VALUE 'J',
C_K(1) TYPE C VALUE 'K',
C_L(1) TYPE C VALUE 'L',
C_M(1) TYPE C VALUE 'M',
C_N(1) TYPE C VALUE 'N',
C_O(1) TYPE C VALUE 'O',
C_P(1) TYPE C VALUE 'P',
C_Q(1) TYPE C VALUE 'Q',
C_R(1) TYPE C VALUE 'R',
C_S(1) TYPE C VALUE 'S',
C_T(1) TYPE C VALUE 'T',
C_U(1) TYPE C VALUE 'U',
C_V(1) TYPE C VALUE 'V',
C_W(1) TYPE C VALUE 'W',
C_X(1) TYPE C VALUE 'X',
C_Y(1) TYPE C VALUE 'Y',
C_Z(1) TYPE C VALUE 'Z',
* 숫자
C_1(1) TYPE C VALUE '1',
C_2(1) TYPE C VALUE '2',
C_3(1) TYPE C VALUE '3',
C_4(1) TYPE C VALUE '4',
C_5(1) TYPE C VALUE '5',
C_6(1) TYPE C VALUE '6',
C_7(1) TYPE C VALUE '7',
C_8(1) TYPE C VALUE '8',
C_9(1) TYPE C VALUE '9',
C_0(1) TYPE C VALUE '0',
C_0000000000(10) VALUE '0000000000'.
***************** 광역 변수 선언
DATA : G_OK_CODE LIKE SY-UCOMM.
*해더 관련
DATA : G_DD_DOC TYPE REF TO CL_DD_DOCUMENT,
G_DD_IMAGE TYPE REF TO CL_DD_IMAGE_NAME_CACHE.
***********************************************************************
* SELECTION SCREEN . [SELECT-OPTION & PARAMETERS ]
***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_KOKRS LIKE CSKT-KOKRS DEFAULT 'VN20'.
SELECT-OPTIONS : S_WERKS FOR AFRU-WERKS DEFAULT '7210'.
SELECT-OPTIONS : S_BUDAT FOR COBK-BUDAT.
SELECT-OPTIONS : S_AUFNR FOR AFRU-AUFNR.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_RECY TYPE C AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK BL2.
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form INIT_DATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INIT_DATE .
DATA : LV_DATE LIKE SY-DATUM.
CLEAR : S_BUDAT, S_BUDAT[].
IF SY-DATUM+6(2) >= 6.
* 6일 이후는 현재 월의 1일 ~ 말일자
CONCATENATE SY-DATUM+0(6) '01' INTO S_BUDAT-LOW.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = SY-DATUM
IMPORTING
LAST_DAY_OF_MONTH = S_BUDAT-HIGH.
ELSE.
* 6일 이전에는 지난 월의 1일 ~ 말일자
CALL FUNCTION 'OIL_GET_PREV_MONTH'
EXPORTING
I_DATE = SY-DATUM
IMPORTING
E_DATE = LV_DATE.
CONCATENATE LV_DATE+0(6) '01' INTO S_BUDAT-LOW.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = LV_DATE
IMPORTING
LAST_DAY_OF_MONTH = S_BUDAT-HIGH.
ENDIF.
APPEND S_BUDAT.
CLEAR S_BUDAT.
ENDFORM. " INIT_DATE
*&---------------------------------------------------------------------*
*& Form GET_MASTER_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_MASTER_LIST .
SELECT A~KOKRS A~BELNR A~REFBN A~AWORG A~BUDAT
B~PAROB B~MEGBTR B~MEINH
C~WTGBTR C~TWAER
INTO CORRESPONDING FIELDS OF TABLE GT_RESULT
FROM COBK AS A INNER JOIN COEP AS B
ON A~KOKRS = B~KOKRS
AND A~BELNR = B~BELNR
JOIN COVP AS C
ON B~KOKRS = C~KOKRS
AND B~BELNR = C~BELNR
AND B~BUZEI = C~BUZEI
WHERE A~KOKRS EQ P_KOKRS
AND A~BUDAT IN S_BUDAT
AND A~VRGNG = 'RKL' "생산 확정 처리
AND A~STFLG = SPACE
AND A~STOKZ = SPACE
AND B~PAROB <> 'OR'.
ENDFORM. " GET_MASTER_LIST
*&---------------------------------------------------------------------*
*& Form GT_LIST_EDIT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GT_LIST_EDIT .
DATA : LV_AUFNR LIKE AFRU-AUFNR,
LV_LMNGA LIKE AFRU-LMNGA,
LV_RMNGA LIKE AFRU-RMNGA,
LV_MEINH LIKE AFRU-MEINH,
LV_RUECK LIKE AFRU-RUECK,
LV_RMZHL LIKE AFRU-RMZHL,
LV_WERKS LIKE AFRU-WERKS,
LV_VORNR LIKE AFRU-VORNR,
LV_MEILR LIKE AFRU-MEILR.
LOOP AT GT_RESULT.
LV_RUECK = GT_RESULT-REFBN. "RUECK와 REFBN TYPE 맞지 않기 때문
LV_RMZHL = GT_RESULT-AWORG.
SELECT SINGLE AUFNR LMNGA RMNGA MEINH WERKS VORNR MEILR
INTO (LV_AUFNR, LV_LMNGA, LV_RMNGA, LV_MEINH, LV_WERKS, LV_VORNR,LV_MEILR)
FROM AFRU
WHERE RUECK = LV_RUECK
AND RMZHL = LV_RMZHL
AND WERKS IN S_WERKS
AND AUFNR IN S_AUFNR.
IF SY-SUBRC = 0.
GT_RESULT-AUFNR = LV_AUFNR.
GT_RESULT-LMNGA = LV_LMNGA.
GT_RESULT-RMNGA = LV_RMNGA.
GT_RESULT-MEINS = LV_MEINH.
GT_RESULT-WERKS = LV_WERKS.
GT_RESULT-VORNR = LV_VORNR.
GT_RESULT-MEILR = LV_MEILR.
IF GT_RESULT-RMNGA > 0.
GT_RESULT-ZREWORK = 'X'.
ENDIF.
MODIFY GT_RESULT.
ELSE.
DELETE GT_RESULT.
ENDIF.
CLEAR GT_RESULT.
ENDLOOP.
* Recycle이 체크된 경우 Rework 수량이 0인 것은 삭제
IF P_RECY IS NOT INITIAL.
DELETE GT_RESULT WHERE RMNGA IS INITIAL.
ENDIF.
ENDFORM. " GT_LIST_EDIT
*&---------------------------------------------------------------------*
*& Form GET_DESC_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DESC_DATA.
DATA: LT_RESULT LIKE TABLE OF GT_RESULT.
DATA: LV_INDEX LIKE SY-TABIX.
LT_RESULT[] = GT_RESULT[].
SORT LT_RESULT BY AUFNR.
SELECT A~AUFNR B~MATNR B~MAKTX INTO CORRESPONDING FIELDS OF TABLE GT_MAT
FROM AFPO AS A JOIN MAKT AS B
ON A~MATNR = B~MATNR
FOR ALL ENTRIES IN LT_RESULT
WHERE A~AUFNR = LT_RESULT-AUFNR
AND B~SPRAS = SY-LANGU.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKT
FROM CSKT
WHERE SPRAS = SY-LANGU
AND KOKRS = P_KOKRS.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSLT
FROM CSLT
WHERE SPRAS = SY-LANGU
AND KOKRS = P_KOKRS.
*GT_RESULT를 LOOP 돌리면서, 추가 필드 값 입력하기
SORT GT_MAT BY AUFNR.
SORT GT_CSKT BY KOSTL.
SORT GT_CSLT BY LSTAR.
LOOP AT GT_RESULT.
LV_INDEX = SY-TABIX.
IF GT_MAT[] IS NOT INITIAL.
READ TABLE GT_MAT WITH KEY AUFNR = GT_RESULT-AUFNR
BINARY SEARCH.
IF SY-SUBRC = 0.
GT_RESULT-MATNR = GT_MAT-MATNR.
GT_RESULT-MAKTX = GT_MAT-MAKTX.
ENDIF.
ENDIF.
IF GT_CSKT[] IS NOT INITIAL.
GT_RESULT-KOSTL = GT_RESULT-PAROB+6(10).
READ TABLE GT_CSKT WITH KEY KOSTL = GT_RESULT-KOSTL
BINARY SEARCH.
IF SY-SUBRC = 0.
GT_RESULT-KTEXT = GT_CSKT-KTEXT.
ENDIF.
ENDIF.
IF GT_CSLT[] IS NOT INITIAL.
GT_RESULT-LSTAR = GT_RESULT-PAROB+16(4).
READ TABLE GT_CSLT WITH KEY LSTAR = GT_RESULT-LSTAR
BINARY SEARCH.
GT_RESULT-LTEXT = GT_CSLT-LTEXT.
ENDIF.
MODIFY GT_RESULT INDEX LV_INDEX.
CLEAR: GT_RESULT, GT_MAT, GT_CSKT, GT_CSLT.
ENDLOOP.
ENDFORM. " GET_DESC_DATA
*&---------------------------------------------------------------------*
*& Form MAKE_HEADER_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MAKE_HEADER_DATA .
DATA: LT_RESULT LIKE TABLE OF GT_RESULT WITH HEADER LINE,
LT_ZMSEG LIKE TABLE OF ZMSEG WITH HEADER LINE.
DATA : BEGIN OF LT_GR OCCURS 0,
WERKS LIKE ZMSEG-WERKS,
BUDAT LIKE ZMSEG-BUDAT,
AUFNR LIKE ZMSEG-AUFNR,
MENGE LIKE ZMSEG-MENGE.
DATA : END OF LT_GR.
DATA : BEGIN OF LT_REWORK_SUM OCCURS 0,
WERKS LIKE AFRU-WERKS,
BUDAT LIKE AFRU-BUDAT,
AUFNR LIKE AFRU-AUFNR,
VORNR LIKE AFRU-VORNR,
RMNGA LIKE AFRU-RMNGA.
DATA : END OF LT_REWORK_SUM.
DATA : LV_AUFNR LIKE AFRU-AUFNR,
LV_RMNGA LIKE AFRU-RMNGA,
LV_RUECK LIKE AFRU-RUECK,
LV_RMZHL LIKE AFRU-RMZHL,
LV_WERKS LIKE AFRU-WERKS,
LV_VORNR LIKE AFRU-VORNR.
***** GT_RESULT 값을 GT_HEAD_ALV에 입력하기.(플랜트/전기일자/오더별 한 레코드)
CLEAR LT_RESULT[].
LT_RESULT[] = GT_RESULT[].
SORT LT_RESULT BY BUDAT AUFNR ZREWORK.
DELETE ADJACENT DUPLICATES FROM LT_RESULT COMPARING WERKS BUDAT AUFNR. " ZREWORK.
LOOP AT LT_RESULT.
MOVE-CORRESPONDING LT_RESULT TO GT_HEADER.
COLLECT GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
**** 정상생산량은 입고량으로 수정 함.(확정을 두번 이상한 경우 누락될 수 있음)
**** 플랜트/전기일자/생산오더별 입고량 정보 내부테이블 만들기(ZMSEG 아용)
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_ZMSEG
FROM ZMSEG
FOR ALL ENTRIES IN GT_HEADER
WHERE WERKS IN S_WERKS
AND BUDAT IN S_BUDAT
AND BWART IN ('101','102')
AND AUFNR EQ GT_HEADER-AUFNR.
LOOP AT LT_ZMSEG.
MOVE-CORRESPONDING LT_ZMSEG TO LT_GR.
IF LT_ZMSEG-BWART = '102'.
LT_GR-MENGE = LT_ZMSEG-MENGE * ( -1 ).
ENDIF.
COLLECT LT_GR. CLEAR LT_GR.
ENDLOOP.
**** 전기일자/생산오더별 입고량으로 정상 생산량 Update하기
LOOP AT GT_HEADER.
CLEAR GT_HEADER-LMNGA.
READ TABLE LT_GR WITH KEY WERKS = GT_HEADER-WERKS
BUDAT = GT_HEADER-BUDAT
AUFNR = GT_HEADER-AUFNR.
IF SY-SUBRC = 0.
GT_HEADER-LMNGA = LT_GR-MENGE.
ENDIF.
MODIFY GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
**** Rework량은 전기일자/생산오더별 가장 큰 량을 가져와 UPDATE 함.
**** Rework이 생산오더에 대해 AFRU테이블에서 Rework량을 오더/Operation별로 가져와 Sum하기
CLEAR LT_RESULT[].
LT_RESULT[] = GT_RESULT[].
DELETE LT_RESULT WHERE ZREWORK = SPACE.
SORT LT_RESULT BY AUFNR.
DELETE ADJACENT DUPLICATES FROM LT_RESULT COMPARING AUFNR.
LOOP AT LT_RESULT.
LV_RUECK = LT_RESULT-REFBN. "RUECK와 REFBN TYPE 맞지 않기 때문
LV_RMZHL = LT_RESULT-AWORG.
SELECT SINGLE AUFNR RMNGA WERKS VORNR
INTO (LV_AUFNR, LV_RMNGA, LV_WERKS, LV_VORNR )
FROM AFRU
WHERE RUECK = LV_RUECK
AND RMZHL = LV_RMZHL.
LT_REWORK_SUM-WERKS = LV_WERKS.
LT_REWORK_SUM-BUDAT = LT_RESULT-BUDAT.
LT_REWORK_SUM-AUFNR = LV_AUFNR.
LT_REWORK_SUM-VORNR = LV_VORNR.
LT_REWORK_SUM-RMNGA = LV_RMNGA.
COLLECT LT_REWORK_SUM.
ENDLOOP.
SORT LT_REWORK_SUM BY WERKS AUFNR VORNR RMNGA ASCENDING.
LOOP AT GT_HEADER.
CLEAR GT_HEADER-RMNGA.
READ TABLE LT_REWORK_SUM WITH KEY WERKS = GT_HEADER-WERKS
BUDAT = GT_HEADER-BUDAT
AUFNR = GT_HEADER-AUFNR.
IF SY-SUBRC = 0.
GT_HEADER-RMNGA = LT_REWORK_SUM-RMNGA.
ENDIF.
MODIFY GT_HEADER. CLEAR GT_HEADER.
ENDLOOP.
SORT GT_HEADER BY WERKS BUDAT MATNR AUFNR.
ENDFORM. " MAKE_HEADER_DATA
*&---------------------------------------------------------------------*
*& Form GET_DETAIL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DETAIL_DATA .
*GT_RESULT 값을 GT_DETAIL에 입력하기.
CLEAR: GT_DETAIL, GT_DETAIL[].
LOOP AT GT_RESULT.
MOVE-CORRESPONDING GT_RESULT TO GT_DETAIL.
COLLECT GT_DETAIL.
CLEAR GT_DETAIL.
ENDLOOP.
SORT GT_DETAIL BY WERKS BUDAT MATNR AUFNR LSTAR.
ENDFORM. " GET_DETAIL_DATA
*&---------------------------------------------------------------------*
*& Form GET_SUM_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_SUM_DATA .
*GT_RESULT 값을 GT_SUM에 입력하기.
CLEAR: GT_SUM, GT_SUM[].
LOOP AT GT_RESULT.
MOVE-CORRESPONDING GT_RESULT TO GT_SUM.
IF GT_RESULT-RMNGA > 0. "REWORK
GT_SUM-MEGBTR_W = GT_RESULT-MEGBTR.
GT_SUM-WTGBTR_W = GT_RESULT-WTGBTR.
ELSE.
GT_SUM-MEGBTR_Y = GT_RESULT-MEGBTR.
GT_SUM-WTGBTR_Y = GT_RESULT-WTGBTR.
ENDIF.
COLLECT GT_SUM.
CLEAR GT_SUM.
ENDLOOP.
SORT GT_SUM BY WERKS MATNR LSTAR.
ENDFORM. " GET_SUM_DATA
*&---------------------------------------------------------------------*
*& Form METHOD_DOUBLE_CLICK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_ROW_INDEX text
* -->P_E_COLUMN_FIELDNAME text
*----------------------------------------------------------------------*
FORM METHOD_DOUBLE_CLICK USING P_ROW TYPE LVC_S_ROW-INDEX
P_COLUMN TYPE LVC_S_COL-FIELDNAME.
DATA : LT_HEADER LIKE GT_HEADER.
CHECK NOT P_ROW IS INITIAL.
READ TABLE GT_HEADER INTO LT_HEADER INDEX P_ROW.
CHECK SY-SUBRC = 0 AND NOT LT_HEADER IS INITIAL.
CASE P_COLUMN.
WHEN 'AUFNR'.
READ TABLE GT_HEADER INDEX P_ROW.
CHECK GT_HEADER-AUFNR NE SPACE.
READ TABLE GT_HEADER WITH KEY AUFNR = GT_HEADER-AUFNR
RMNGA = 0.
GT_ITAB-LMNGA = GT_HEADER-LMNGA.
GT_ITAB-MEINH = GT_HEADER-MEINS.
READ TABLE GT_HEADER WITH KEY AUFNR = GT_HEADER-AUFNR
LMNGA = 0.
GT_ITAB-RMNGA = GT_HEADER-RMNGA.
GT_ITAB-MEINH2 = GT_HEADER-MEINS.
PERFORM GET_YIELD_REWORK_ITEM.
CALL SCREEN 400 STARTING AT 2 2 ENDING AT 80 22.
WHEN OTHERS.
ENDCASE.
ENDFORM. " METHOD_DOUBLE_CLICK
*&---------------------------------------------------------------------*
*& Form GET_YIELD_REWORK_ITEM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_YIELD_REWORK_ITEM .
CLEAR: GT_RESULT, GT_YIELD, GT_REWORK, GT_YIELD[], GT_REWORK[].
LOOP AT GT_RESULT WHERE AUFNR EQ GT_HEADER-AUFNR.
IF GT_RESULT-LMNGA > 0.
MOVE-CORRESPONDING GT_RESULT TO GT_YIELD.
APPEND GT_YIELD.
ELSE.
MOVE-CORRESPONDING GT_RESULT TO GT_REWORK.
APPEND GT_REWORK.
ENDIF.
CLEAR: GT_YIELD, GT_REWORK.
SORT GT_YIELD BY LSTAR.
SORT GT_REWORK BY LSTAR.
ENDLOOP.
ENDFORM. " GET_YIELD_REWORK_ITEM
*&---------------------------------------------------------------------*
*& Form GLOBAL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GLOBAL_DATA .
* GT_ITAB-LMNGA, = GT_HEADER-LMNGA.
* GT_ITAB-RMNGA = GT_HEADER-RMNGA.
* GT_ITAB-MEINH = GT_HEADER-MEINS.
* GT_ITAB-MEINH2 = GT_HEADER-MEINS.
ENDFORM. " GLOBAL_DATA
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_F02
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form ALV_VARIANT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_VARIANT .
CLEAR GS_VARIANT.
GS_VARIANT-REPORT = SY-REPID. "프로그램명
GS_VARIANT-USERNAME = SY-UNAME. "사용자
ENDFORM. " ALV_VARIANT
*&---------------------------------------------------------------------*
*& Form ALV_SORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_SORT .
CLEAR : GS_SORT, GS_SORT[].
PERFORM SORT_FIELD TABLES GS_SORT USING :
1 C_WERKS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
2 C_BUDAT C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
3 C_AUFNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
4 C_MATNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
5 C_MAKTX C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
6 C_MEINS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
7 C_KOSTL C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
8 C_KTEXT C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
9 C_LSTAR C_X C_ C_.
ENDFORM. " ALV_SORT
*&---------------------------------------------------------------------*
*& Form ALV_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_LAYOUT .
CLEAR GS_LAYOUT.
GS_LAYOUT-SEL_MODE = C_A.
GS_LAYOUT-ZEBRA = C_X. " LINE COLOR
GS_LAYOUT-CWIDTH_OPT = C_. " ALV 제어: 열너비최적화
GS_LAYOUT-INFO_FNAME = C_INFO. " ROW COLOR.
GS_LAYOUT-CTAB_FNAME = C_COLINFO. " COLUMN COLOR.
GS_LAYOUT-STYLEFNAME = C_STYLE.
GS_LAYOUT-NO_ROWMARK = ' '.
* GS_LAYOUT-GRID_TITLE = SY-TITLE.
ENDFORM. " ALV_LAYOUT
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG .
CLEAR: GS_FIELDCAT, GS_FIELDCAT[], G_POS,
GT_FIELDCAT, GT_FIELDCAT[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP
I_INCLNAME = 'ZPPREWORK02_TOP'
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT.
CASE GT_FIELDCAT-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Plant'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'BUDAT'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Posting Date'
GT_FIELDCAT-DATATYPE
'12'
C_X C_ C_ 'C' C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'AUFNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Order No'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Material'
GT_FIELDCAT-DATATYPE
'12'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Mat. Desc'
GT_FIELDCAT-DATATYPE
'20'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Yield Qty'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_X C_ C_ C_ C_ C_ C_ 'MEINS'.
WHEN 'RMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Rework Qty'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_X C_ C_ C_ C_ C_ C_ 'MEINS'.
WHEN 'MEINS'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Qty. Unit'
GT_FIELDCAT-DATATYPE
'8'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'Cost Center'
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
'C.C Desc'
GT_FIELDCAT-DATATYPE
'16'
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN USING:
GT_FIELDCAT-FIELDNAME
GT_FIELDCAT-REPTEXT_DDIC
GT_FIELDCAT-DATATYPE
GT_FIELDCAT-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG
*&---------------------------------------------------------------------*
*& Form ALV_TOOLBAR_EXCLUDE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_TOOLBAR_EXCLUDE .
DATA LS_EXCLUDE TYPE UI_FUNC.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXCL_ALL. " ** 툴바 모두제거 **
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO. " 실행취소 &LOCAL&UNDO
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_AUF. " 소계확장 &AUF
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_AVERAGE. " &AVERAGE
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_BACK_CLASSIC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_ABC. " &ABC
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CHAIN.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CRBATCH.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CRWEB.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_LINEITEMS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_MASTER_DATA.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_MORE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_REPORT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_XINT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_XXL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_COL_INVISIBLE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_COL_OPTIMIZE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CURRENT_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DATA_SAVE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DELETE_FILTER.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DESELECT_ALL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DETAIL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRDATA.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRDESIG.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPCRTEMPL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXPMDB.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_EXTEND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_F4.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FILTER.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FIND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FIX_COLUMNS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_GRAPH.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_HELP.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_INFO.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOAD_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY. " 행 카피.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_HTML.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW. " 행 카피.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT. " 가위.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW. " 행삭제.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW. " 행삽입.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW. " 라인생성.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE. " 겹쳐쓰기.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW. " 겹쳐쓰기.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MAINTAIN_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MAXIMUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MINIMUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PC_FILE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT_BACK.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT_PREV.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_REFRESH. " 새로고침.
APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_REPREP.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SAVE_VARIANT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SELECT_ALL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SEND.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SEPARATOR.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_ASC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_DSC.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUBTOT.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUM.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_TO_OFFICE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_TO_REP_TREE.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_UNFIX_COLUMNS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEWS.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_CRYSTAL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_EXCEL.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEW_GRID.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
* LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_WORD_PROCESSOR.
* APPEND LS_EXCLUDE TO GS_EXCLUDE.
ENDFORM. " ALV_TOOLBAR_EXCLUDE
*&---------------------------------------------------------------------*
*& Form SORT_FIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GS_SORT text
* -->P_1 text
* -->P_C_WERKS text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM SORT_FIELD TABLES P_GS_SORT TYPE LVC_T_SORT
USING P_SPOS
P_FIELDNAME
P_UP
P_DOWN
P_SUBTOT.
P_GS_SORT-SPOS = P_SPOS.
P_GS_SORT-FIELDNAME = P_FIELDNAME.
P_GS_SORT-UP = P_UP.
P_GS_SORT-DOWN = P_DOWN.
P_GS_SORT-SUBTOT = P_SUBTOT.
APPEND P_GS_SORT.
ENDFORM. " SORT_FIELD
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT_FIELDNAME text
* -->P_0091 text
* -->P_GT_FIELDCAT_DATATYPE text
* -->P_GT_FIELDCAT_INTLEN text
* -->P_C_X text
* -->P_C_X text
* -->P_C_ text
* -->P_0097 text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG-COL_POS = G_POS. "colum position
GS_FIELDCATALOG-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG-KEY = P_KEY. "Key.
GS_FIELDCATALOG-JUST = P_JUST. "위치.
GS_FIELDCATALOG-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG TO GS_FIELDCAT. CLEAR GS_FIELDCATALOG.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG2 .
CLEAR: GS_FIELDCAT2, GS_FIELDCAT2[], G_POS,
GT_FIELDCAT2, GT_FIELDCAT2[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP2
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT2[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT2.
CASE GT_FIELDCAT2-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Plant'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'BUDAT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Posting Date'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ 'C' C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Material'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Mat. Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'AUFNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Order No'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MEINS'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Qty. Unit'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Cost Center'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'C.C Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Type'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Yield Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'RMNGA'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Rework Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Qty'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Activity Unit'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Value'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
'Currency'
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN2 USING:
GT_FIELDCAT2-FIELDNAME
GT_FIELDCAT2-REPTEXT_DDIC
GT_FIELDCAT2-DATATYPE
GT_FIELDCAT2-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG2
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT2_FIELDNAME text
* -->P_GT_FIELDCAT2_REPTEXT_DDIC text
* -->P_GT_FIELDCAT2_DATATYPE text
* -->P_GT_FIELDCAT2_INTLEN text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN2 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG2-COL_POS = G_POS. "colum position
GS_FIELDCATALOG2-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG2-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG2-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG2-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG2-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG2-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG2-KEY = P_KEY. "Key.
GS_FIELDCATALOG2-JUST = P_JUST. "위치.
GS_FIELDCATALOG2-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG2-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG2-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG2-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG2-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG2-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG2-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG2-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG2 TO GS_FIELDCAT2. CLEAR GS_FIELDCATALOG2.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN2
*&---------------------------------------------------------------------*
*& Form ALV_SORT3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_SORT3 .
CLEAR : GS_SORT, GS_SORT[].
PERFORM SORT_FIELD TABLES GS_SORT USING :
1 C_WERKS C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
2 C_MATNR C_X C_ C_.
PERFORM SORT_FIELD TABLES GS_SORT USING :
3 C_MAKTX C_X C_ C_.
ENDFORM. " ALV_SORT3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG3 .
CLEAR: GS_FIELDCAT3, GS_FIELDCAT3[], G_POS,
GT_FIELDCAT3, GT_FIELDCAT3[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP3
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT3[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT3.
CASE GT_FIELDCAT3-FIELDNAME.
WHEN 'WERKS'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Plant'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MATNR'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Material'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'MAKTX'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Mat. Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'KOSTL'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Cost Center'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_X C_ C_.
WHEN 'KTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'C.C Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Activity Type'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR_Y'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Yield Activity Qty'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEGBTR_W'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Recycle Activity Qty'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Activity Unit'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR_Y'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Yield Value'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'WTGBTR_W'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Recyle Value'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
'Currency'
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN OTHERS.
PERFORM ALV_FIELDCAT_INSERT_RTN3 USING:
GT_FIELDCAT3-FIELDNAME
GT_FIELDCAT3-REPTEXT_DDIC
GT_FIELDCAT3-DATATYPE
GT_FIELDCAT3-INTLEN
C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT3_FIELDNAME text
* -->P_1155 text
* -->P_GT_FIELDCAT3_DATATYPE text
* -->P_GT_FIELDCAT3_INTLEN text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN3 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG3-COL_POS = G_POS. "colum position
GS_FIELDCATALOG3-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG3-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG3-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG3-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG3-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG3-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG3-KEY = P_KEY. "Key.
GS_FIELDCATALOG3-JUST = P_JUST. "위치.
GS_FIELDCATALOG3-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG3-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG3-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG3-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG3-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG3-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG3-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG3-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG3 TO GS_FIELDCAT3. CLEAR GS_FIELDCATALOG3.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN3
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG4 .
CLEAR: GS_FIELDCAT4, GS_FIELDCAT4[], G_POS,
GT_FIELDCAT4, GT_FIELDCAT4[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP4
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT4[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT4.
CASE GT_FIELDCAT4-FIELDNAME.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Type'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Qty'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Activity Unit'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Value'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
GT_FIELDCAT4-FIELDNAME
'Currency'
GT_FIELDCAT4-DATATYPE
GT_FIELDCAT4-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
* WHEN OTHERS.
* PERFORM ALV_FIELDCAT_INSERT_RTN4 USING:
* GT_FIELDCAT4-FIELDNAME
* GT_FIELDCAT4-REPTEXT_DDIC
* GT_FIELDCAT4-DATATYPE
* GT_FIELDCAT4-INTLEN
* C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG4
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCATALOG5
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_FIELDCATALOG5 .
CLEAR: GS_FIELDCAT5, GS_FIELDCAT5[], G_POS,
GT_FIELDCAT5, GT_FIELDCAT5[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = C_GT_TEMP5
I_INCLNAME = 'ZPPREWORK02_TOP'
* I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = GT_FIELDCAT5[].
** Field CATALOG
*/ 1:Field Name,2:Discription,3:Data Type,4:Data Length,5:Fix,6:No Disp
*/ 7:Key 8:위치 9:Sum 10:Hotspot 11:F4 12:Edit 13:Checkbox 14:No Zero
* 15.currency 16 unit.
LOOP AT GT_FIELDCAT5.
CASE GT_FIELDCAT5-FIELDNAME.
WHEN 'LSTAR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Type'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'LTEXT'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Act.Typ.Desc'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'MEGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Qty'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ 'MEINH'.
WHEN 'MEINH'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Activity Unit'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
WHEN 'WTGBTR'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Value'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ 'TWAER' C_.
WHEN 'TWAER'.
PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
GT_FIELDCAT5-FIELDNAME
'Currency'
GT_FIELDCAT5-DATATYPE
GT_FIELDCAT5-INTLEN
C_X C_ C_ C_ C_ C_ C_ C_ C_ C_ C_ C_.
* WHEN OTHERS.
* PERFORM ALV_FIELDCAT_INSERT_RTN5 USING:
* GT_FIELDCAT5-FIELDNAME
* GT_FIELDCAT5-REPTEXT_DDIC
* GT_FIELDCAT5-DATATYPE
* GT_FIELDCAT5-INTLEN
* C_ C_ C_ C_ C_ C_ C_X C_ C_ C_ C_ C_.
ENDCASE.
ENDLOOP.
ENDFORM. " ALV_FIELDCATALOG5
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN5
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT5_FIELDNAME text
* -->P_GT_FIELDCAT5_REPTEXT_DDIC text
* -->P_GT_FIELDCAT5_DATATYPE text
* -->P_GT_FIELDCAT5_INTLEN text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN5 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG5-COL_POS = G_POS. "colum position
GS_FIELDCATALOG5-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG5-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG5-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG5-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG5-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG5-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG5-KEY = P_KEY. "Key.
GS_FIELDCATALOG5-JUST = P_JUST. "위치.
GS_FIELDCATALOG5-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG5-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG5-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG5-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG5-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG5-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG5-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG5-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG5 TO GS_FIELDCAT5. CLEAR GS_FIELDCATALOG5.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN5
*&---------------------------------------------------------------------*
*& Form ALV_FIELDCAT_INSERT_RTN4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_FIELDCAT2_FIELDNAME text
* -->P_1570 text
* -->P_GT_FIELDCAT2_DATATYPE text
* -->P_GT_FIELDCAT2_INTLEN text
* -->P_C_X text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
* -->P_C_ text
*----------------------------------------------------------------------*
FORM ALV_FIELDCAT_INSERT_RTN4 USING
P_FNAM P_TEXT P_TYPE P_OUTLEN P_FIXCOLUMN P_NOOUT
P_KEY P_JUST P_SUM P_HOTSPOT P_F4 P_EDIT P_BOX
P_ZERO P_CURR P_UNIT.
CLEAR: G_POS.
G_POS = G_POS + 1.
GS_FIELDCATALOG4-COL_POS = G_POS. "colum position
GS_FIELDCATALOG4-FIELDNAME = P_FNAM. "Field name
GS_FIELDCATALOG4-REPTEXT = P_TEXT. "Field Description
GS_FIELDCATALOG4-DATATYPE = P_TYPE. "Data Type
GS_FIELDCATALOG4-OUTPUTLEN = P_OUTLEN. "Data Length
GS_FIELDCATALOG4-FIX_COLUMN = P_FIXCOLUMN. "Fix Column
GS_FIELDCATALOG4-NO_OUT = P_NOOUT. "Hidden Field
GS_FIELDCATALOG4-KEY = P_KEY. "Key.
GS_FIELDCATALOG4-JUST = P_JUST. "위치.
GS_FIELDCATALOG4-DO_SUM = P_SUM. "Do sum.
GS_FIELDCATALOG4-HOTSPOT = P_HOTSPOT. "Hotspot.
GS_FIELDCATALOG4-F4AVAILABL = P_F4. "Search help
GS_FIELDCATALOG4-EDIT = P_EDIT. "Edit.
GS_FIELDCATALOG4-CHECKBOX = P_BOX. "BOX.
GS_FIELDCATALOG4-NO_ZERO = P_ZERO. "NO-ZERO.
GS_FIELDCATALOG4-CFIELDNAME = P_CURR. "NO-ZERO.
GS_FIELDCATALOG4-QFIELDNAME = P_UNIT. "unit.
APPEND GS_FIELDCATALOG4 TO GS_FIELDCAT4. CLEAR GS_FIELDCATALOG4.
ENDFORM. " ALV_FIELDCAT_INSERT_RTN4
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '100'.
SET TITLEBAR '100'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_HEADER OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_HEADER OUTPUT.
* DATA : L_TEXT TYPE SDYDO_TEXT_ELEMENT,
* L_KURSF(20) ,
* L_LTEXT LIKE TCURT-LTEXT ,
* L_VTEXT LIKE TKVST-VTEXT .
*
* CHECK G_DD_DOC IS INITIAL.
* CREATE OBJECT G_DD_DOC
* EXPORTING
* BACKGROUND_COLOR = 2.
*
* WRITE : 'GLS Goods Movement Monitoring' TO L_TEXT.
*
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING.
*
** WRITE : SY-DATUM TO L_TEXT.
*
* CONCATENATE 'Baseline Date : ' sy-datum(4) '/' sy-datum+4(2) '/'
* sy-datum+6(2) INTO L_TEXT SEPARATED BY SPACE.
*
* CALL METHOD G_DD_DOC->NEW_LINE.
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING.
*
* CALL METHOD G_DD_DOC->NEW_LINE.
* CALL METHOD G_DD_DOC->ADD_TEXT
* EXPORTING
* TEXT = L_TEXT
* SAP_STYLE = CL_DD_DOCUMENT=>HEADING. "MEDIUM.
*
* CALL METHOD G_DD_DOC->DISPLAY_DOCUMENT
* EXPORTING
* CONTAINER = 'G_ALV_GRID3'.
ENDMODULE. " ALV_HEADER OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY OUTPUT.
IF GS_CUSTOM_CONTAINER IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = C_CONTAINER.
CREATE OBJECT GS_ALV_GRID
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER.
PERFORM ALV_VARIANT. "<-- ALV Variant
* PERFORM ALV_SORT. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_HEADER[]
IT_FIELDCATALOG = GS_FIELDCAT[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS '200'.
SET TITLEBAR '200'.
ENDMODULE. " STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_200 OUTPUT.
IF GS_CUSTOM_CONTAINER2 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER2 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER2->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER2
EXPORTING
CONTAINER_NAME = C_CONTAINER2.
CREATE OBJECT GS_ALV_GRID2
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER2.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_SORT. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG2. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_DETAIL[]
IT_FIELDCATALOG = GS_FIELDCAT2[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID2.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID2.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID2.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID2->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID2->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID2->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID2.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_200 OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0300 OUTPUT.
SET PF-STATUS '300'.
SET TITLEBAR '300'.
ENDMODULE. " STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_300 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_300 OUTPUT.
IF GS_CUSTOM_CONTAINER3 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER3 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER3->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER3
EXPORTING
CONTAINER_NAME = C_CONTAINER3.
CREATE OBJECT GS_ALV_GRID3
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER3.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_SORT3. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG3. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID3->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_SUM[]
IT_FIELDCATALOG = GS_FIELDCAT3[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID3.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID3.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID3.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID3->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID3->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID3->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID3.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_300 OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0400 OUTPUT.
SET PF-STATUS '400'.
SET TITLEBAR '400'.
PERFORM GLOBAL_DATA.
ENDMODULE. " STATUS_0400 OUTPUT
*&---------------------------------------------------------------------*
*& Module ALV_DISPLAY_400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE ALV_DISPLAY_400 OUTPUT.
************************************************************************
* YIELD SCREEN
************************************************************************
IF GS_CUSTOM_CONTAINER4 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER4 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER4->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER4
EXPORTING
CONTAINER_NAME = C_CONTAINER4.
CREATE OBJECT GS_ALV_GRID4
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER4.
PERFORM ALV_VARIANT. "<-- ALV Variant
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG4. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID4->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_YIELD[]
IT_FIELDCATALOG = GS_FIELDCAT4[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID4.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID4.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID4.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID4->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
************************************************************************
* REWORK SCREEN
************************************************************************
IF GS_CUSTOM_CONTAINER5 IS INITIAL.
IF NOT GS_CUSTOM_CONTAINER5 IS INITIAL.
CALL METHOD GS_CUSTOM_CONTAINER5->FREE.
ENDIF.
CREATE OBJECT GS_CUSTOM_CONTAINER5
EXPORTING
CONTAINER_NAME = C_CONTAINER5.
CREATE OBJECT GS_ALV_GRID5
EXPORTING
I_PARENT = GS_CUSTOM_CONTAINER5.
PERFORM ALV_VARIANT. "<-- ALV Variant
* PERFORM ALV_SORT3. "<-- SORT
PERFORM ALV_LAYOUT. "<-- General Layout
PERFORM ALV_FIELDCATALOG5. "<-- Field Attribute
PERFORM ALV_TOOLBAR_EXCLUDE. "CHANGING G_EXCLUDE. "<-- Toolbar Dim
CALL METHOD GS_ALV_GRID5->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_X
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
IT_TOOLBAR_EXCLUDING = GS_EXCLUDE
I_SAVE = C_A
CHANGING
IT_OUTTAB = GT_REWORK[]
IT_FIELDCATALOG = GS_FIELDCAT5[]
IT_SORT = GS_SORT.
CREATE OBJECT GS_EVENT_RECEIVER.
*--// ALV 변경사항 관리
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR GS_ALV_GRID5.
*--// HOTSPOT click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GS_ALV_GRID5.
*--// DOUBLE click event
SET HANDLER
GS_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GS_ALV_GRID5.
ELSE.
GS_STBL-ROW = C_X. "행기준 안정적 최신표시
GS_STBL-COL = C_X. "열기준 정적 최신표시
CALL METHOD GS_ALV_GRID5->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = GS_STBL.
ENDIF.
***//EDIT (0: EIDT 불가, 1: EDIT 가능)
CALL METHOD GS_ALV_GRID5->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 0.
* 변경시점에 이벤트발생...........................
* ENTER시점은 CL_GUI_ALV_GRID=>MC_EVT_ENTER로.....
CALL METHOD GS_ALV_GRID5->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GS_ALV_GRID5.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " ALV_DISPLAY_400 OUTPUT
*&---------------------------------------------------------------------*
*& Module GET_DATA INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE GET_DATA INPUT.
GT_ITAB-LMNGA = GT_HEADER-LMNGA.
GT_ITAB-RMNGA = GT_HEADER-RMNGA.
GT_ITAB-MEINH = GT_HEADER-MEINS.
GT_ITAB-MEINH2 = GT_HEADER-MEINS.
ENDMODULE. " GET_DATA INPUT
*&---------------------------------------------------------------------*
*& Include ZPPREWORK02_I01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
CASE SY-UCOMM.
WHEN C_BACK OR C_CANC.
LEAVE TO SCREEN 0.
WHEN C_EXIT.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " EXIT INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN C_EXPAND.
PERFORM GET_DETAIL_DATA.
IF GT_DETAIL[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
CALL SCREEN 200.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0200 INPUT.
CASE SY-UCOMM.
WHEN C_COLLAP.
LEAVE TO SCREEN 0.
WHEN C_ACTSUM.
PERFORM GET_SUM_DATA.
IF GT_SUM[] IS INITIAL.
MESSAGE S000 WITH 'No data Found!!'.
ELSE.
CALL SCREEN 300.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0300 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0300 INPUT.
* CASE SY-UCOMM.
* WHEN C_BACK OR C_CANC.
** CALL METHOD GS_CUSTOM_CONTAINER3->FREE.
** CALL METHOD CL_GUI_CFW=>FLUSH.
* LEAVE TO SCREEN 0.
* WHEN C_EXIT.
* LEAVE PROGRAM.
* ENDCASE.
ENDMODULE. " USER_COMMAND_0300 INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0400 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0400 INPUT.
CASE SY-UCOMM.
WHEN 'CLOSE' OR 'END'.
LEAVE TO SCREEN 0.
WHEN C_EXIT.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0400 INPUT
피드 구독하기:
글 (Atom)