sap web gui login

http://molgaard.consolut.eu/sap/bc/gui/sap/its/webgui

Friday, August 8, 2014

PURCHASE ORDER REPORT

REPORT ZMM_R_RDD006_POPENDING NO STANDARD PAGE HEADING.
*&---------------------------------------------------------------------*
*& STRUCTURE DECLARATIONS
*&---------------------------------------------------------------------*
* STRUCTURE DECLARATION FOR EKKO AND EKPO
TYPES : BEGIN OF TY_EKKO_EKPO,
EBELN TYPE EBELN, "PURCHAGE DOCUMENT HEADER
LIFNR TYPE LIFNR, "VENDOR ACCOUNT NUMBER
BEDAT TYPE EBDAT, "PURCHAGING DOCUMENT DATE
EBELP TYPE EBELP, "ITEM NO OF PURCHAGING DOCUMENT
MATNR TYPE MATNR, "MATERIAL NUMBER
MENGE TYPE KTMNG, "PURCHAGE ORDER QUANTITY
NETPR TYPE BPREI, "NET PRICE IN PURCHAGING DOCUMENT
NETWR TYPE BWERT, "NET ORDER VALUE IN PO CURENCY
END OF TY_EKKO_EKPO,

* STRUCTURE DECLARATION FOR EKBE
BEGIN OF TY_EKBE,
EBELN TYPE EBELN, "PURCHAGE DOCUMENT NUMBER
EBELP TYPE EBELP, "PURCHAGE ITEM NUMBER
MENGE TYPE MENGE_D, "QUANTITY
END OF TY_EKBE,

* STRUCTURE DECLARATION FOR LFA1
BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "ACCOUNT NUMBER OF VENDOR
NAME1 TYPE NAME1_GP, "NAME
END OF TY_LFA1,

* STRUCTURE DECLARATION FOR FINAL OUTPUT
BEGIN OF TY_OUTPUT,
EBELN TYPE EBELN, "PURCHAGE DOCUMENT HEADER
LIFNR TYPE LIFNR, "VENDOR ACCOUNT NUMBER
BEDAT TYPE EBDAT, "PURCHAGING DOCUMENT DATE
EBELP TYPE EBELP, "ITEM NO OF PURCHAGING DOCUMENT
MATNR TYPE MATNR, "MATERIAL NUMBER
MENGE TYPE KTMNG, "TARGET QUANTITY
NETPR TYPE BPREI, "NET PRICE IN PURCHAGING DOCUMENT
NETWR TYPE BWERT, "NET ORDER VALUE IN PO CURENCY
MENGE_P TYPE MENGE_D, "QUANTITY
NAME1 TYPE NAME1_GP, "NAME
PQUANT TYPE KTMNG, "PENDING QUANTITY
END OF TY_OUTPUT.

*&---------------------------------------------------------------------*
*& WORK AREA DECLARATIONS
*&---------------------------------------------------------------------*
* WORK AREA DECLARATION FOR EKKO AND EKPO
DATA : W_EKKO_EKPO TYPE TY_EKKO_EKPO,
* WORK AREA DECLARATION FOR EKBE
W_EKBE TYPE TY_EKBE,
* WORK AREA DECLARATION FOR LFA1
W_LFA1 TYPE TY_LFA1,
* WORK AREA DECLARATION FOR FINAL OUTPUT
W_OUTPUT TYPE TY_OUTPUT,
*&---------------------------------------------------------------------*
*& INTERNAL TABELS DECLARATIONS
*&---------------------------------------------------------------------*
* INTERNAL TABLE DECLARATION FOR EKKO AND EKPO
T_EKKO_EKPO TYPE STANDARD TABLE OF TY_EKKO_EKPO,
* INTERNAL TABLE DECLARATION FOR EKBE
T_EKBE TYPE STANDARD TABLE OF TY_EKBE,
* INTERNAL TABLE DECLARATION FOR LFA1
T_LFA1 TYPE STANDARD TABLE OF TY_LFA1,
* INTERNAL TABLE DECLARATION FOR FINAL OUTPUT
T_OUTPUT TYPE STANDARD TABLE OF TY_OUTPUT,
*&---------------------------------------------------------------------*
*& GLOBAL VARIABLES DECLARATIONS
*&---------------------------------------------------------------------*
G_LIFNR TYPE EKKO-LIFNR,
G_EKORG TYPE EKKO-EKORG,
G_BSART TYPE EKKO-BSART,
G_EKGRP TYPE EKKO-EKGRP,
G_WERKS TYPE EKPO-WERKS,
G_BEDAT TYPE EKKO-BEDAT,
G_EBELN TYPE EKKO-EBELN.
*&---------------------------------------------------------------------*
*& ALV DECLARATIONS
*&---------------------------------------------------------------------*
TYPE-POOLS : SLIS.
DATA : T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
T_SORT TYPE SLIS_T_SORTINFO_ALV,
W_SORT TYPE LINE OF SLIS_T_SORTINFO_ALV,
W_HEADER TYPE LINE OF SLIS_T_LISTHEADER,
T_HEADER TYPE SLIS_T_LISTHEADER,
T_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
G_VALUE TYPE SLIS_ENTRY,
* INTERNAL TABLE DECLARATION FOR EKBE.
T_EKBE1 TYPE STANDARD TABLE OF TY_EKBE.
*&---------------------------------------------------------------------*
*& SELECTION SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS : S_LIFNR FOR G_LIFNR,
S_EKORG FOR G_EKORG,
S_BSART FOR G_BSART,
S_EKGRP FOR G_EKGRP,
S_WERKS FOR G_WERKS,
S_BEDAT FOR G_BEDAT,
S_EBELN FOR G_EBELN.
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
*& AT SELECTION SCREEN ON
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN .
* VALIDATING LIFNR
PERFORM SUB_VALIDATE_LIFNR.
* VALIDATING EKORG
PERFORM SUB_VALIDATE_EKORG.
* VALIDATING BSART
PERFORM SUB_VALIDATE_BSART.
* VALIDATING EKGRP
PERFORM SUB_VALIDATE_EKGRP.
* VALIDATING WERKS
PERFORM SUB_VALIDATE_WERKS.
* VALIDATING BEDAT
PERFORM SUB_VALIDATE_BEDAT.
* VALIDATING EBELN
PERFORM SUB_VALIDATE_EBELN.
*&---------------------------------------------------------------------*
*& START OF SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM SUB_GET_EKKO_EKPO.
PERFORM SUB_GET_EKBE.
PERFORM SUB_GET_LFA1.
*&---------------------------------------------------------------------*
*& INITIALIZATION
*&---------------------------------------------------------------------*
INITIALIZATION.
CLEAR: W_EKKO_EKPO,
W_EKBE,
W_LFA1,
W_OUTPUT.
REFRESH : T_EKKO_EKPO,
T_EKBE,
T_LFA1,
T_OUTPUT.
*&---------------------------------------------------------------------*
*& END OF SELECTION
*&---------------------------------------------------------------------*
END-OF-SELECTION.
PERFORM SUB_PREPARE_OUTPUT.
PERFORM SUB_FILL_FIELDCAT USING : 'LIFNR' '1' 'VENDOR' '' '',
'EBELN' '2' 'PDOC' '' '',
'BEDAT' '4' 'DOC DATE' '' '',
'EBELP' '3' 'ITEM' '' '',
'MATNR' '5' 'MATERIAL' '' '',
'NETPR' '6' 'NET PRICE' 'X' '',
'NETWR' '7' 'NET ORDER' '' '',
'MENGE' '8' 'PO QUTY' '' '',
'MENGE_P' '9' 'DELIVERY QUANTITY' '' '',
'PQUANT' '10' 'PENDING QTY' 'X' ''.
PERFORM SUB_FILL_SORT USING : 'LIFNR' 'X',
'EBELN' 'X'.
PERFORM SUB_FILL_HEADER.
PERFORM DISPLAY_OUTPUT.
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_LIFNR
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE LIFNR
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_LIFNR .
DATA : LT_LIFNR TYPE LIFNR.
SELECT SINGLE LIFNR
FROM LFA1
INTO LT_LIFNR
WHERE LIFNR IN S_LIFNR.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID VENDOER ACCOUNT NUMBER'.
ENDIF.
ENDFORM. "SUB_VALIDATE_LIFNR
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_EKORG
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE EKORG
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_EKORG.
DATA:LT_EKORG TYPE EKORG.
SELECT SINGLE EKORG
FROM T024E
INTO LT_EKORG
WHERE EKORG IN S_EKORG.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID PURCHAGE ORGANIZATION'.
ENDIF.
ENDFORM. "SUB_VALIDATE_EKORG
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_BSART
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE BSART
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_BSART.
DATA LT_BSART TYPE ESART.
SELECT SINGLE BSART
FROM T161
INTO LT_BSART
WHERE BSART IN S_BSART.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID DOCUMENT TYPE'.
ENDIF.
ENDFORM. "SUB_VALIDATE_BSART
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_EKGRP
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE EKGRP
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_EKGRP.
DATA LT_EKGRP TYPE BKGRP.
SELECT SINGLE EKGRP
FROM T024
INTO LT_EKGRP
WHERE EKGRP IN S_EKGRP.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID PURCHAGE GROUP'.
ENDIF.
ENDFORM. "SUB_VALIDATE_EKGRP
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_WERKS
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE WERKS
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_WERKS.
DATA LT_WERKS TYPE WERKS.
SELECT SINGLE WERKS
FROM T001W
INTO LT_WERKS
WHERE WERKS IN S_WERKS.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID PLANT'.
ENDIF.
ENDFORM. "SUB_VALIDATE_WERKS
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_BEDAT
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE BEDAT
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_BEDAT.
DATA LT_BEDAT TYPE EBDAT.
SELECT BEDAT
FROM EKKO
INTO LT_BEDAT
UP TO 1 ROWS
WHERE BEDAT IN S_BEDAT.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID DOCUMENT DATE'.
ENDIF.
ENDFORM. "SUB_VALIDATE_BEDAT
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATE_EBELN
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO VALIDATE LIFNR
*----------------------------------------------------------------------*
FORM SUB_VALIDATE_EBELN.
DATA LT_EBELN TYPE EBELN.
SELECT SINGLE EBELN
FROM EKKO
INTO LT_EBELN
WHERE EBELN IN S_EBELN.
IF SY-SUBRC <> 0.
MESSAGE E002(ZHARI) WITH 'INVALID VENDOER ACCOUNT NUMBER'.
ENDIF.
ENDFORM. " SUB_VALIDATE_FIELDS
*&---------------------------------------------------------------------*
*& Form SUB_GET_EKKO_EKPO
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO GET EKKO AND EKPO
*----------------------------------------------------------------------*
FORM SUB_GET_EKKO_EKPO .
SELECT EKKO~EBELN "PURCHAGE DOCUMENT HEADER
EKKO~LIFNR "VENDOR ACCOUNT NUMBER
EKKO~BEDAT "PURCHAGING DOCUMENT DATE
EKPO~EBELP "ITEM NO OF PURCHAGING DOCUMENT
EKPO~MATNR "MATERIAL NUMBER
EKPO~MENGE "PURCHAGE ORDER QUANTITY
EKPO~NETPR "NET PRICE IN PURCHAGING DOCUMENT
EKPO~NETWR "NET ORDER VALUE IN PO CURENCY
INTO TABLE T_EKKO_EKPO
FROM EKKO INNER JOIN EKPO
ON EKKO~EBELN = EKPO~EBELN
WHERE EKKO~LIFNR IN S_LIFNR
AND EKKO~EKORG IN S_EKORG
AND EKKO~BSART IN S_BSAR
AND EKKO~EKGRP IN S_EKGRP
AND EKPO~WERKS IN S_WERKS
AND EKKO~BEDAT IN S_BEDAT
AND EKKO~EBELN IN S_EBELN.
IF SY-SUBRC <> 0.
MESSAGE I002(ZHARI) WITH 'DATA NOT FOUND'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " SUB_GET_EKKO_EKPO
*&---------------------------------------------------------------------*
*& Form SUB_GET_EKBE
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO GET EKBE
*----------------------------------------------------------------------*
FORM SUB_GET_EKBE .
SELECT EBELN "PURCHAGE DOCUMENT
EBELP "ITEM
MENGE "QUANTITY
INTO TABLE T_EKBE
FROM EKBE
FOR ALL ENTRIES IN T_EKKO_EKPO
WHERE EBELN = T_EKKO_EKPO-EBELN
AND EBELP = T_EKKO_EKPO-EBELP.
ENDFORM. " SUB_GET_EKBE
*&---------------------------------------------------------------------*
*& Form SUB_GET_LFA1
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO GET LFA1
*----------------------------------------------------------------------*
FORM SUB_GET_LFA1 .
DATA LT_EKKO_EKPO TYPE STANDARD TABLE OF TY_EKKO_EKPO.
LT_EKKO_EKPO = T_EKKO_EKPO.
SORT LT_EKKO_EKPO BY LIFNR.
DELETE ADJACENT DUPLICATES FROM LT_EKKO_EKPO COMPARING LIFNR.
SELECT LIFNR "VENDOR ACC NO
NAME1 "NAME
FROM LFA1
INTO TABLE T_LFA1
FOR ALL ENTRIES IN LT_EKKO_EKPO
WHERE LIFNR = LT_EKKO_EKPO-LIFNR.
ENDFORM. " SUB_GET_LFA1
*&---------------------------------------------------------------------*
*& Form SUB_PREPARE_OUTPUT
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO PREPARING FINAL OUTPUT
*----------------------------------------------------------------------*
FORM SUB_PREPARE_OUTPUT .
CLEAR W_EKKO_EKPO.
LOOP AT T_EKKO_EKPO INTO W_EKKO_EKPO.
* MOVING EKKO AND EKPO DATA
W_OUTPUT-EBELN = W_EKKO_EKPO-EBELN.
W_OUTPUT-LIFNR = W_EKKO_EKPO-LIFNR.
W_OUTPUT-BEDAT = W_EKKO_EKPO-BEDAT.
W_OUTPUT-EBELP = W_EKKO_EKPO-EBELP.
W_OUTPUT-MATNR = W_EKKO_EKPO-MATNR.
W_OUTPUT-MENGE = W_EKKO_EKPO-MENGE.
W_OUTPUT-NETPR = W_EKKO_EKPO-NETPR.
W_OUTPUT-NETWR = W_EKKO_EKPO-NETWR.
* MOVING EKBE DATA
CLEAR W_EKBE .
READ TABLE T_EKBE INTO W_EKBE WITH KEY EBELN = W_EKKO_EKPO-EBELN
EBELP = W_EKKO_EKPO-EBELP.
IF SY-SUBRC = 0
W_OUTPUT-MENGE_P = W_EKBE-MENGE.
ENDIF.
* MOVING LFA1 DATA
CLEAR W_LFA1.
READ TABLE T_LFA1 INTO W_LFA1 WITH KEY LIFNR = W_EKKO_EKPO-LIFNR.
IF SY-SUBRC = 0.
W_OUTPUT-NAME1 = W_LFA1-NAME1.
ENDIF.
W_OUTPUT-PQUANT = W_EKKO_EKPO-MENGE - W_EKBE-MENGE .
APPEND W_OUTPUT TO T_OUTPUT.
CLEAR : W_EKKO_EKPO,
W_OUTPUT.
ENDLOOP.
ENDFORM. " SUB_PREPARE_OUTPUT
*&---------------------------------------------------------------------*
*& Form SUB_FILL_FIELDCAT
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO FILL FIELDCAT
*----------------------------------------------------------------------*
FORM SUB_FILL_FIELDCAT USING FIELD TYPE C
COLPOS TYPE C
TEXT TYPE C
SUM TYPE CHAR1
OUT TYPE CHAR1.
W_FIELDCAT-FIELDNAME = FIELD.
W_FIELDCAT-COL_POS = COLPOS.
W_FIELDCAT-SELTEXT_M = TEXT.
W_FIELDCAT-DO_SUM = SUM.
W_FIELDCAT-NO_OUT = OUT.
APPEND W_FIELDCAT TO T_FIELDCAT.
ENDFORM. " SUB_FILL_FIELDCAT
*&---------------------------------------------------------------------*
*& Form DISPLAY_OUTPUT
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO DISPLAY REPORT
*----------------------------------------------------------------------*
FORM DISPLAY_OUTPUT .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = 'SUB_SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'SUB_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'SUB_TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = T_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = T_SORT
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_OUTPUT
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
.
ENDFORM. " DISPLAY_OUTPUT
*&---------------------------------------------------------------------*
*& Form SUB_FILL_SORT
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO FILL T_SORT
*----------------------------------------------------------------------*
FORM SUB_FILL_SORT USING FIELD TYPE C
SUBT TYPE CHAR1.
W_SORT-FIELDNAME = FIELD.
W_SORT-SUBTOT = 'X'.
APPEND W_SORT TO T_SORT.
ENDFORM. " SUB_FILL_SORT
*&---------------------------------------------------------------------*
*& Form SUB_TOP_OF_PAGE
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO PRINT TOP OF PAGE
*----------------------------------------------------------------------*
FORM SUB_TOP_OF_PAGE .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_HEADER
* I_LOGO =
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
ENDFORM. " SUB_TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form SUB_FILL_HEADER
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO FILL HEADER
*----------------------------------------------------------------------*
FORM SUB_FILL_HEADER .
W_HEADER-TYP = 'H'.
W_HEADER-INFO = 'PENDING PURCHAGE ORDERS'.
APPEND W_HEADER TO T_HEADER.
W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'VENDOR'.
CONCATENATE S_LIFNR-LOW 'TO' S_LIFNR-HIGH INTO W_HEADER-INFO SEPARATED BY SPACE.
APPEND W_HEADER TO T_HEADER.
ENDFORM. " SUB_FILL_HEADER
*&---------------------------------------------------------------------*
*& Form SUB_USER_COMMAND
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO HANDLE USER COMMAND
*----------------------------------------------------------------------*
FORM SUB_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'DET'.
IF RS_SELFIELD-FIELDNAME = 'EBELN'.
G_VALUE = RS_SELFIELD-VALUE.
CLEAR W_EKBE.
REFRESH T_EKBE1.
LOOP AT T_EKBE INTO W_EKBE WHERE EBELN = G_VALUE.
APPEND W_EKBE TO T_EKBE1.
ENDLOOP.
REFRESH T_FIELDCAT1.
PERFORM SUB_FILL_FIELDCAT1 USING : 'EBELN' '1' 'PDOC',
'EBELP' '2' 'ITEM',
'MENGE' '3' 'DELIVERY QUANTITY'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = T_FIELDCAT1
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_EKBE1.
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
ENDIF.
* LINE SELECTION
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'EBELN'.
G_VALUE = RS_SELFIELD-VALUE.
CLEAR W_EKBE.
REFRESH T_EKBE1.
LOOP AT T_EKBE INTO W_EKBE WHERE EBELN = G_VALUE.
APPEND W_EKBE TO T_EKBE1.
ENDLOOP.
REFRESH T_FIELDCAT1.
PERFORM SUB_FILL_FIELDCAT1 USING : 'EBELN' '1' 'PDOC',
'EBELP' '2' 'ITEM',
'MENGE' '3' 'DELIVERY QUANTITY'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = T_FIELDCAT1
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_EKBE1.
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
ENDIF.
ENDCASE.
ENDFORM. "SUB_USER_COMMAND
*&---------------------------------------------------------------------*
*& Form SUB_FILL_FIELDCAT1
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO FILL FIELDCAT1
*----------------------------------------------------------------------*
FORM SUB_FILL_FIELDCAT1 USING FIELD TYPE CHAR10
COLP TYPE CHAR1
TEXT TYPE CHAR35.
CLEAR W_FIELDCAT.
W_FIELDCAT-FIELDNAME = FIELD.
W_FIELDCAT-COL_POS = COLP.
W_FIELDCAT-SELTEXT_M = TEXT .
APPEND W_FIELDCAT TO T_FIELDCAT1.
ENDFORM. " SUB_FILL_FIELDCAT1
*&---------------------------------------------------------------------*
*& Form SUB_SET_PF_STATUS
*&---------------------------------------------------------------------*
* THIS ROUTINE IS USED TO FILL FIELDCAT1
*----------------------------------------------------------------------*
FORM SUB_SET_PF_STATUS USING EXTAB.
SET PF-STATUS 'ZSTATUS' EXCLUDING EXTAB.
ENDFORM.

0 comments:

Post a Comment