hello all,
this is my code i wants to print only i want apply sort data using s_bednr in ekpo table.
REPORT ZSTOCK_TRANSFER_REPORT.
TABLES: EKPO , EKKO ,VBRP.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: p_CCODE TYPE EKPO-BUKRS OBLIGATORY Default 1100,
p_PCODE TYPE EKPO-WERKS OBLIGATORY Default 1111.
SELECT-OPTIONS : S_MATNR FOR EKPO-MATNR ,
S_BEDNR FOR EKKO-AEDAT DEFAULT 'sy-datum'.
SELECTION-SCREEN END OF BLOCK b1.
type-pools : SLIS.
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID,
G_SAVE TYPE C VALUE 'X',
G_VARIANT TYPE DISVARIANT,
GX_VARIANT TYPE DISVARIANT,
G_EXIT TYPE C.
TYPES : BEGIN OF STR_EKPO,
EBELN TYPE EKPO-EBELN,
PRDAT TYPE EKPO-PRDAT,
MATNR TYPE EKPO-MATNR,
TXZ01 type EKPO-TXZ01,
BUKRS TYPE EKPO-BUKRS,
WERKS TYPE EKPO-WERKS,
MENGE TYPE EKPO-MENGE,
NETPR TYPE EKPO-NETPR,
NETWR TYPE EKPO-NETWR,
END OF STR_EKPO.
DATA : IT_EKPO TYPE STANDARD TABLE OF STR_EKPO,
WA_EKPO TYPE STR_EKPO.
TYPES : BEGIN OF STR_EKKO,
EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
AEDAT TYPE EKKO-AEDAT,
EKORG TYPE EKKO-EKORG,
END OF STR_EKKO.
DATA : IT_EKKO TYPE TABLE OF STR_EKKO,
WA_EKKO TYPE STR_EKKO.
TYPES : BEGIN OF STR_VBRP,
VBELN TYPE VBRP-VBELN,
FKIMG TYPE VBRP-FKIMG,
MATNR TYPE VBRP-MATNR,
NETWR TYPE VBRP-NETWR,
ERDAT TYPE VBRP-ERDAT,
END OF STR_VBRP.
DATA : IT_VBRP TYPE TABLE OF STR_VBRP,
WA_VBRP TYPE STR_VBRP.
DATA : PEND_QTY TYPE EKPO-MENGE,
PEND_AMT TYPE EKPO-NETWR,
BAL_QTY TYPE EKPO-MENGE,
BAL_AMT TYPE EKPO-NETWR.
TYPES : BEGIN OF STR_FINAL ,
EBELN TYPE EKPO-EBELN,
PRDAT TYPE EKPO-PRDAT,
MATNR TYPE EKPO-MATNR,
TXZ01 TYPE EKPO-TXZ01,
MENGE TYPE EKPO-MENGE,
NETPR TYPE EKPO-NETPR,
NETWR TYPE EKPO-NETWR,
VBELN TYPE VBRP-VBELN,
FKIMG TYPE VBRP-FKIMG,
NETWR1 TYPE VBRP-NETWR,
ERDAT TYPE VBRP-ERDAT,
PEND_QTY TYPE EKPO-MENGE,
PEND_AMT TYPE EKPO-NETWR,
BAL_QTY TYPE EKPO-MENGE,
BAL_AMT TYPE EKPO-NETWR,
END OF STR_FINAL.
DATA : IT_FINAL TYPE TABLE OF STR_FINAL,
WA_FINAL TYPE STR_FINAL.
PERFORM GET_DATA.
PERFORM PERFORM_DATA.
PERFORM CAL_DATA.
PERFORM BUILD_FIELDCATALOG.
PERFORM DISPLAY_DATA.
.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT EBELN PRDAT MATNR TXZ01 BUKRS WERKS MENGE NETPR NETWR
FROM EKPO
INTO CORRESPONDING FIELDS OF TABLE IT_EKPO
WHERE MATNR IN S_MATNR
AND BUKRS EQ P_CCODE
AND WERKS EQ P_PCODE.
SELECT EBELN BUKRS AEDAT EKORG
FROM EKKO
INTO CORRESPONDING FIELDS OF TABLE IT_EKKO
FOR ALL ENTRIES IN IT_EKPO
WHERE AEDAT IN S_BEDNR
AND BUKRS EQ IT_EKPO-BUKRS
AND EBELN EQ IT_EKPO-EBELN.
SELECT VBELN FKIMG MATNR NETWR ERDAT
FROM VBRP
INTO CORRESPONDING FIELDS OF TABLE IT_VBRP
FOR ALL ENTRIES IN IT_EKPO
WHERE MATNR = IT_EKPO-MATNR
AND WERKS = IT_EKPO-WERKS.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form PERFORM_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PERFORM_DATA .
LOOP AT IT_EKPO INTO WA_EKPO.
READ TABLE IT_EKKO INTO WA_EKKO WITH KEY EBELN = EKKO-EBELN .
WA_FINAL-EBELN = WA_EKPO-EBELN.
WA_FINAL-PRDAT = WA_EKPO-PRDAT.
WA_FINAL-MATNR = WA_EKPO-MATNR.
WA_FINAL-TXZ01 = WA_EKPO-TXZ01.
WA_FINAL-MENGE = WA_EKPO-MENGE.
WA_FINAL-NETPR = WA_EKPO-NETPR.
WA_FINAL-NETWR = WA_EKPO-NETWR.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_FINAL,
WA_EKPO,
WA_EKKO.
ENDLOOP.
SORT IT_FINAL BY EBELN MATNR .
ENDFORM. " PERFORM_DATA
*&---------------------------------------------------------------------*
*& Form CAL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CAL_DATA .
ENDFORM. " CAL_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
* I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE' "see FORM
* I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = FIELDCATALOG[]
I_SAVE = 'X'
IS_VARIANT = G_VARIANT
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_DATA
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATALOG .
FIELDCATALOG-FIELDNAME = 'EBELN '.
FIELDCATALOG-SELTEXT_M = 'PO NO'.
FIELDCATALOG-COL_POS = 0.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PRDAT'.
FIELDCATALOG-SELTEXT_M = 'DATE'.
FIELDCATALOG-COL_POS = 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'MATNR'.
FIELDCATALOG-SELTEXT_M = 'MATERIAL CODE'.
FIELDCATALOG-COL_POS = 2.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'TXZ01'.
FIELDCATALOG-SELTEXT_M = 'PRODUCT NAME'.
FIELDCATALOG-COL_POS = 3.
FIELDCATALOG-OUTPUTLEN = 20.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'MENGE'.
FIELDCATALOG-SELTEXT_M = 'QUANTITY'.
FIELDCATALOG-COL_POS = 4.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'NETPR'.
FIELDCATALOG-SELTEXT_M = 'RATE'.
FIELDCATALOG-COL_POS = 5.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'NETWR'.
FIELDCATALOG-SELTEXT_M = 'VALUE'.
FIELDCATALOG-COL_POS = 6.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = ' '.
FIELDCATALOG-SELTEXT_M = 'EXC INVOICE'.
FIELDCATALOG-COL_POS = 7.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = ''.
FIELDCATALOG-SELTEXT_M = 'EXC DATE'.
FIELDCATALOG-COL_POS = 6.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
ENDFORM.