01-14-2008 6:58 AM
problem in code.it is urgent.
i want to display all po,s with all grs from requistion up to inspection. if for a po gr not happend or inspection not happend it must also display leaving blank for that po. actual flow is pur.reqpur.ordergoods receipt---quality inspection. once u copy this code and execute it. u will get better idea.
regards!
prasad.
REPORT Z_MM_REQDETAILS1.
TABLES: EKKO, EKPO, MSEG, QALS, EBAN, MKPF, MAKT.
TYPE-POOLS: SLIS.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS: SBADAT FOR EBAN-BADAT,
SLIFNR FOR EKKO-LIFNR,
SEBELN FOR EKKO-EBELN,
SBEDAT FOR EKKO-BEDAT,
SBSART FOR EKKO-BSART,
SMATNR FOR EKPO-MATNR,
SBUDAT FOR MKPF-BUDAT.
SELECTION-SCREEN END OF BLOCK B1.
DATA: BEGIN OF EBAN_TAB OCCURS 0,
BANFN LIKE EBAN-BANFN,
BADAT LIKE EBAN-BADAT,
MENGE LIKE EBAN-MENGE,
EBELN LIKE EBAN-EBELN,
AFNAM LIKE EBAN-AFNAM,
END OF EBAN_TAB.
DATA: BEGIN OF EKKO_TAB OCCURS 0,
BSART LIKE EKKO-BSART,
EBELN LIKE EKKO-EBELN,
LIFNR LIKE EKKO-LIFNR,
BEDAT LIKE EKKO-BEDAT,
END OF EKKO_TAB.
DATA: BEGIN OF EKPO_TAB OCCURS 0,
EBELN LIKE EKPO-EBELN,
MENGE LIKE EKPO-MENGE,
MATNR LIKE EKPO-MATNR,
BANFN LIKE EKPO-BANFN,
EBELP LIKE EKPO-EBELP,
END OF EKPO_TAB.
DATA: BEGIN OF MSEG_TAB OCCURS 0,
EBELN LIKE MSEG-EBELN,
MBLNR LIKE MSEG-MBLNR,
MATNR LIKE MSEG-MATNR,
MENGE LIKE MSEG-MENGE,
EBELP LIKE MSEG-EBELP,
END OF MSEG_TAB.
DATA: BEGIN OF MSEG_TAB1 OCCURS 0,
MBLNR LIKE MSEG-MBLNR,
EBELN LIKE MSEG-EBELN,
END OF MSEG_TAB1.
DATA: BEGIN OF QALS_TAB OCCURS 0,
LMENGE01 LIKE QALS-LMENGE01,
LMENGE07 LIKE QALS-LMENGE07,
MATNR LIKE QALS-MATNR,
MBLNR LIKE QALS-MBLNR,
EBELN LIKE QALS-EBELN,
EBELP LIKE QALS-EBELP,
END OF QALS_TAB.
DATA: BEGIN OF MKPF_TAB OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
BUDAT LIKE MKPF-BUDAT,
END OF MKPF_TAB.
DATA: BEGIN OF MAKT_TAB OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF MAKT_TAB.
DATA: BEGIN OF SELTAB OCCURS 0,
EBELN LIKE EKKO-EBELN,
BLDAT LIKE MKPF-BLDAT,
END OF SELTAB.
*DATA: BEGIN OF SELTAB1 OCCURS 0,
BUDAT LIKE MKPF-BUDAT,
END OF SELTAB1.
DATA: REPID LIKE SY-REPID.
DATA: F_OUTPUT1 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA: IT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.
DATA: REMARKS(40) TYPE C.
DATA: BEGIN OF OUTPUT OCCURS 0,
BANFN LIKE EBAN-BANFN,
BADAT LIKE EBAN-BADAT,
RMENGE LIKE EBAN-MENGE,
AFNAM LIKE EBAN-AFNAM,
BSART LIKE EKKO-BSART,
EBELN LIKE EKKO-EBELN,
LIFNR LIKE EKKO-LIFNR,
BEDAT LIKE EKKO-BEDAT,
PMENGE LIKE EKPO-MENGE,
MATNR LIKE EKPO-MATNR,
EBELP LIKE EKPO-EBELP,
MBLNR LIKE MSEG-MBLNR,
GMENGE LIKE MSEG-MENGE,
LMENGE01 LIKE QALS-LMENGE01,
LMENGE07 LIKE QALS-LMENGE07,
BUDAT LIKE MKPF-BUDAT,
MAKTX LIKE MAKT-MAKTX,
REMARKS(40) TYPE C,
SL_NO LIKE SY-TABIX,
END OF OUTPUT.
START-OF-SELECTION.
IF SEBELN IS NOT INITIAL OR SLIFNR IS NOT INITIAL OR SBEDAT IS NOT INITIAL OR SBSART IS NOT INITIAL.
SELECT EBELN
BSART
LIFNR
BEDAT FROM EKKO INTO CORRESPONDING FIELDS OF TABLE EKKO_TAB WHERE EBELN IN SEBELN AND LIFNR IN SLIFNR AND BEDAT IN SBEDAT AND
BSART IN SBSART.
ELSEIF SBADAT IS NOT INITIAL.
SELECT EBELN
BANFN
BADAT
MENGE
AFNAM FROM EBAN INTO CORRESPONDING FIELDS OF TABLE EBAN_TAB where BADAT IN SBADAT.
SORT EBAN_TAB BY BADAT ASCENDING.
select ebeln lifnr bedat bsart from ekko into corresponding fields of table ekko_tab for all entries in eban_tab where ebeln = eban_tab-ebeln.
ELSEIF SMATNR IS NOT INITIAL.
SELECT EBELN
EBELP
FROM EKPO INTO CORRESPONDING FIELDS OF TABLE SELTAB
WHERE MATNR IN SMATNR.
SORT SELTAB BY EBELN ASCENDING.
DELETE ADJACENT DUPLICATES FROM SELTAB COMPARING EBELN.
SELECT EBELN
BSART
BEDAT
LIFNR FROM EKKO INTO CORRESPONDING FIELDS OF TABLE EKKO_TAB
FOR ALL ENTRIES IN SELTAB WHERE EBELN = SELTAB-EBELN.
ELSEIF SBUDAT IS NOT INITIAL.
SELECT BUDAT
MBLNR FROM MKPF INTO CORRESPONDING FIELDS OF TABLE MKPF_TAB WHERE
BUDAT IN SBUDAT.
sort mkpf_tab by budat ascending.
SELECT EBELN FROM MSEG INTO CORRESPONDING FIELDS OF TABLE SELTAB FOR ALL ENTRIES IN
MKPF_TAB WHERE MBLNR = MKPF_TAB-MBLNR.
*SELECT EBELN
FROM QALS INTO CORRESPONDING FIELDS OF TABLE SELTAB FOR ALL ENTRIES IN SELTAB WHERE EBELN = SELTAB-EBELN.
SORT SELTAB BY EBELN ASCENDING.
DELETE ADJACENT DUPLICATES FROM SELTAB COMPARING EBELN.
SELECT EBELN
BEDAT
LIFNR
BSART FROM EKKO INTO CORRESPONDING FIELDS OF TABLE EKKO_TAB
FOR ALL ENTRIES IN SELTAB WHERE EBELN = SELTAB-EBELN.
ENDIF.
SELECT EBELN
MENGE
MATNR
EBELP FROM EKPO INTO CORRESPONDING FIELDS OF TABLE EKPO_TAB FOR ALL ENTRIES IN EKKO_TAB WHERE EBELN = EKKO_TAB-EBELN AND
MATNR IN SMATNR.
SELECT EBELN
BANFN
BADAT
MENGE
AFNAM FROM EBAN INTO CORRESPONDING FIELDS OF TABLE EBAN_TAB FOR ALL ENTRIES IN EKKO_TAB WHERE EBELN = EKKO_TAB-EBELN AND
BADAT IN SBADAT.
SELECT EBELN
MBLNR
MATNR
MENGE
EBELP
FROM MSEG INTO CORRESPONDING FIELDS OF TABLE MSEG_TAB FOR ALL ENTRIES IN EKPO_TAB WHERE EBELN = EKPO_TAB-EBELN AND
MATNR = EKPO_TAB-MATNR AND
EBELP = EKPO_TAB-EBELP AND
BWART IN ('101','105').
SELECT LMENGE01
LMENGE07
MATNR
MBLNR
EBELN FROM QALS INTO CORRESPONDING FIELDS OF TABLE QALS_TAB FOR ALL ENTRIES IN MSEG_TAB WHERE MBLNR = MSEG_TAB-MBLNR AND
MATNR = MSEG_TAB-MATNR AND
EBELN = MSEG_TAB-EBELN AND
EBELP = MSEG_TAB-EBELP.
SELECT MBLNR
BUDAT FROM MKPF INTO CORRESPONDING FIELDS OF TABLE MKPF_TAB FOR ALL ENTRIES IN MSEG_TAB WHERE MBLNR = MSEG_TAB-MBLNR AND BUDAT
IN SBUDAT.
SELECT MATNR
MAKTX FROM MAKT INTO CORRESPONDING FIELDS OF TABLE MAKT_TAB FOR ALL ENTRIES IN EKPO_TAB WHERE MATNR = EKPO_TAB-MATNR.
*LOOP AT OUTPUT.
**LOOP AT EKKO_TAB.
**read table EKKO_TAB with key ebeln = output-ebeln.
**if sy-subrc = 0.
*READ TABLE EKPO_TAB WITH KEY EBELN = EKKO_TAB-EBELN.
*IF SY-SUBRC = 0.
*READ TABLE MSEG_TAB WITH KEY EBELN = EKPO_TAB-EBELN MATNR = EKPO_TAB-MATNR.
*IF SY-SUBRC = 0.
*
**READ TABLE QALS_TAB WITH KEY MBLNR = MSEG_TAB-MBLNR MATNR = MSEG_TAB-MATNR EBELN = MSEG_TAB-EBELN.
**IF SY-SUBRC = 0.
*
o OUTPUT-EBELN = EKKO_TAB-EBELN.
o OUTPUT-BSART = EKKO_TAB-BSART.
o OUTPUT-LIFNR = EKKO_TAB-LIFNR.
o OUTPUT-BEDAT = EKKO_TAB-BEDAT.
OUTPUT-PMENGE = EKPO_TAB-MENGE.
OUTPUT-MATNR = EKPO_TAB-MATNR.
OUTPUT-MBLNR = MSEG_TAB-MBLNR.
OUTPUT-GMENGE = MSEG_TAB-MENGE.
o OUTPUT-LMENGE01 = QALS_TAB-LMENGE01.
o OUTPUT-LMENGE07 = QALS_TAB-LMENGE07.
modify OUTPUT transporting pmenge matnr MBLNR GMENGE.
**APPEND OUTPUT.
*ENDIF.
*ENDIF.
*
*ENDLOOP.
*
LOOP AT EKKO_TAB.
LOOP AT EKPO_TAB WHERE EBELN = EKKO_TAB-EBELN.
LOOP AT MSEG_TAB WHERE EBELN = OUTPUT-EBELN AND MATNR = output-MATNR AND EBELP = OUTPUT-EBELP.
OUTPUT-EBELN = EKKO_TAB-EBELN.
OUTPUT-BSART = EKKO_TAB-BSART.
OUTPUT-LIFNR = EKKO_TAB-LIFNR.
OUTPUT-BEDAT = EKKO_TAB-BEDAT.
OUTPUT-PMENGE = EKPO_TAB-MENGE.
OUTPUT-MATNR = EKPO_TAB-MATNR.
OUTPUT-EBELP = EKPO_TAB-EBELP.
APPEND OUTPUT.
CLEAR OUTPUT.
ENDLOOP.
ENDLOOP.
*LOOP AT OUTPUT.
*LOOP AT EKPO_TAB WHERE EBELN = OUTPUT-EBELN.
OUTPUT-PMENGE = EKPO_TAB-MENGE.
OUTPUT-MATNR = EKPO_TAB-MATNR.
OUTPUT-EBELP = EKPO_TAB-EBELP.
*MODIFY OUTPUT TRANSPORTING PMENGE MATNR EBELP.
*ENDLOOP.
*ENDLOOP.
LOOP AT OUTPUT.
LOOP AT MSEG_TAB WHERE EBELN = OUTPUT-EBELN AND MATNR = OUTPUT-MATNR AND EBELP = OUTPUT-EBELP.
*LOOP AT QALS_TAB WHERE MBLNR = MSEG_TAB-MBLNR AND MATNR = OUTPUT-MATNR AND EBELN = OUTPUT-EBELN AND EBELP = OUTPUT-EBELP.
OUTPUT-MBLNR = MSEG_TAB-MBLNR.
OUTPUT-GMENGE = MSEG_TAB-MENGE.
OUTPUT-LMENGE01 = QALS_TAB-LMENGE01.
OUTPUT-LMENGE07 = QALS_TAB-LMENGE07.
OUTPUT-EBELP = QALS_TAB-EBELP.
*APPEND OUTPUT.
MODIFY OUTPUT TRANSPORTING MBLNR GMENGE.
*CLEAR OUTPUT.
*CLEAR MSEG_TAB.
ENDLOOP.
ENDLOOP.
*ENDLOOP.
LOOP AT OUTPUT.
LOOP AT QALS_TAB WHERE MBLNR = OUTPUT-MBLNR AND MATNR = OUTPUT-MATNR AND EBELN = OUTPUT-EBELN.
OUTPUT-LMENGE01 = QALS_TAB-LMENGE01.
OUTPUT-LMENGE07 = QALS_TAB-LMENGE07.
OUTPUT-EBELP = QALS_TAB-EBELP.
MODIFY OUTPUT TRANSPORTING LMENGE01 LMENGE07.
ENDLOOP.
ENDLOOP.
LOOP AT OUTPUT.
LOOP AT EBAN_TAB WHERE EBELN = OUTPUT-EBELN.
OUTPUT-BANFN = EBAN_TAB-BANFN.
OUTPUT-BADAT = EBAN_TAB-BADAT.
OUTPUT-RMENGE = EBAN_TAB-MENGE.
OUTPUT-AFNAM = EBAN_TAB-AFNAM.
MODIFY OUTPUT TRANSPORTING BANFN BADAT RMENGE AFNAM.
ENDLOOP.
ENDLOOP.
LOOP AT OUTPUT.
LOOP AT MKPF_TAB WHERE MBLNR = OUTPUT-MBLNR.
OUTPUT-BUDAT = MKPF_TAB-BUDAT.
MODIFY OUTPUT TRANSPORTING BUDAT.
ENDLOOP.
ENDLOOP.
*LOOP AT OUTPUT.
*
*SELECT SINGLE MATNR FROM EKPO INTO OUTPUT-MATNR WHERE EBELN = OUTPUT-EBELN.
*MODIFY OUTPUT TRANSPORTING MATNR.
*
*SELECT SINGLE MBLNR FROM MSEG INTO OUTPUT-MBLNR WHERE MATNR = OUTPUT-MATNR.
*MODIFY OUTPUT TRANSPORTING MBLNR.
*ENDLOOP.
LOOP AT OUTPUT.
LOOP AT MAKT_TAB WHERE MATNR = OUTPUT-MATNR.
OUTPUT-MAKTX = MAKT_TAB-MAKTX.
MODIFY OUTPUT TRANSPORTING MAKTX.
ENDLOOP.
ENDLOOP.
*LOOP AT EKKO_TAB.
LOOP AT EKPO_TAB WHERE EBELN = EKKO_TAB-EBELN.
o LOOP AT MSEG_TAB WHERE EBELN = EKPO_TAB-EBELN AND MATNR = EKPO_TAB-MATNR.
o LOOP AT QALS_TAB WHERE MBLNR = MSEG_TAB-MBLNR AND MATNR = MSEG_TAB-MATNR AND EBELN = MSEG_TAB-EBELN.
o LOOP AT MKPF_TAB WHERE MBLNR = MSEG_TAB-MBLNR.
OUTPUT-EBELN = EKKO_TAB-EBELN.
OUTPUT-BSART = EKKO_TAB-BSART.
OUTPUT-LIFNR = EKKO_TAB-LIFNR.
OUTPUT-BEDAT = EKKO_TAB-BEDAT.
OUTPUT-PMENGE = EKPO_TAB-MENGE.
OUTPUT-MATNR = EKPO_TAB-MATNR.
OUTPUT-EBELP = EKPO_TAB-EBELP.
o OUTPUT-MBLNR = MSEG_TAB-MBLNR.
o OUTPUT-GMENGE = MSEG_TAB-MENGE.
o OUTPUT-BUDAT = MKPF_TAB-BUDAT.
o OUTPUT-LMENGE01 = QALS_TAB-LMENGE01.
o OUTPUT-LMENGE07 = QALS_TAB-LMENGE07.
o MODIFY OUTPUT TRANSPORTING BSART LIFNR BEDAT PMENGE MATNR.
APPEND OUTPUT.
CLEAR OUTPUT.
o CLEAR QALS_TAB.
o ENDLOOP.
o CLEAR MKPF_TAB.
o ENDLOOP.
o CLEAR MSEG_TAB.
o ENDLOOP.
CLEAR EKPO_TAB.
ENDLOOP.
CLEAR EKKO_TAB.
ENDLOOP.
*
*
*
*
**SELECT MBLNR EBELN FROM MSEG INTO TABLE MSEG_TAB1 FOR ALL ENTRIES IN EKKO_TAB WHERE EBELN = EKKO_TAB-EBELN.
**
*
o LOOP AT OUTPUT.
o MOVE-CORRESPONDING MSEG_TAB1 TO OUTPUT.
o OUTPUT-MBLNR = MSEG_TAB1-MBLNR.
o MODIFY OUTPUT TRANSPORTING MBLNR.
o ENDLOOP.
*
*
*
*
*
*
*LOOP AT OUTPUT.
LOOP AT MSEG_TAB WHERE EBELN = output-EBELN AND MATNR = output-MATNR AND EBELP = OUTPUT-EBELP.
**READ TABLE MSEG_TAB WITH KEY EBELN = OUTPUT-EBELN MATNR = OUTPUT-MATNR.
*IF SY-SUBRC = 0.
OUTPUT-MBLNR = MSEG_TAB-MBLNR.
OUTPUT-GMENGE = MSEG_TAB-MENGE.
*MODIFY OUTPUT TRANSPORTING MBLNR GMENGE.
*ENDIF.
*clear output.
*ENDLOOP.
*endloop.
*
*
*
*LOOP AT OUTPUT.
READ TABLE QALS_TAB WITH KEY MBLNR = OUTPUT-MBLNR MATNR = OUTPUT-MATNR EBELN = OUTPUT-EBELN.
*IF SY-SUBRC = 0.
*OUTPUT-LMENGE01 = QALS_TAB-LMENGE01.
*OUTPUT-LMENGE07 = QALS_TAB-LMENGE07.
*
*MODIFY OUTPUT TRANSPORTING LMENGE01 LMENGE07.
*ENDIF.
*ENDLOOP.
*
*
*
*
LOOP AT OUTPUT.
READ TABLE EBAN_TAB WITH KEY EBELN = OUTPUT-EBELN.
IF SY-SUBRC = 0.
OUTPUT-BANFN = EBAN_TAB-BANFN.
OUTPUT-BADAT = EBAN_TAB-BADAT.
OUTPUT-RMENGE = EBAN_TAB-MENGE.
OUTPUT-AFNAM = EBAN_TAB-AFNAM.
MODIFY OUTPUT TRANSPORTING BANFN BADAT RMENGE AFNAM.
ENDIF.
ENDLOOP.
*
*
*
*
*
*
*
*
*
*LOOP AT OUTPUT.
*
READ TABLE MKPF_TAB WITH KEY MBLNR = OUTPUT-MBLNR.
IF SY-SUBRC = 0.
OUTPUT-BUDAT = MKPF_TAB-BUDAT.
MODIFY OUTPUT TRANSPORTING BUDAT.
ENDIF.
ENDLOOP.
*
*
*
*
*
*
*LOOP AT OUTPUT.
*READ TABLE MAKT_TAB WITH KEY MATNR = OUTPUT-MATNR.
*IF SY-SUBRC = 0.
*OUTPUT-MAKTX = MAKT_TAB-MAKTX.
*MODIFY OUTPUT TRANSPORTING MAKTX.
*ENDIF.
*ENDLOOP.
PERFORM F_OUTPUT.
PERFORM SORT.
PERFORM GRID.
FORM F_OUTPUT.
F_OUTPUT1-FIELDNAME = 'MATNR'.
F_OUTPUT1-REF_TABNAME = 'EKPO'.
F_OUTPUT1-REF_FIELDNAME = 'MATNR'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME ='MAKTX'.
F_OUTPUT1-SELTEXT_M = 'DESCRIPTION.'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'LIFNR'.
F_OUTPUT1-REF_TABNAME = 'EKKO'.
F_OUTPUT1-REF_FIELDNAME = 'LIFNR'.
F_OUTPUT1-SELTEXT_M = 'SUPPLIER'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'AFNAM'.
F_OUTPUT1-REF_TABNAME = 'EBAN'.
F_OUTPUT1-REF_FIELDNAME = 'AFNAM'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'BANFN'.
F_OUTPUT1-REF_TABNAME = 'EBAN'.
F_OUTPUT1-REF_FIELDNAME = 'BANFN'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'BADAT'.
F_OUTPUT1-SELTEXT_M = 'PRS DATE'.
F_OUTPUT1-REF_TABNAME = 'EBAN'.
F_OUTPUT1-REF_FIELDNAME = 'BADAT'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME ='RMENGE'.
*F_OUTPUT1-REF_TABNAME = 'MSEG'.
*F_OUTPUT1-REF_FIELDNAME = 'MBLNR'.
F_OUTPUT1-SELTEXT_M = 'PRS QTY'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'EBELN'.
F_OUTPUT1-REF_TABNAME = 'EKKO'.
F_OUTPUT1-REF_FIELDNAME = 'EBELN'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'BSART'.
F_OUTPUT1-REF_TABNAME = 'EKKO'.
F_OUTPUT1-REF_FIELDNAME = 'BSART'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'BEDAT'.
F_OUTPUT1-REF_TABNAME = 'EKKO'.
F_OUTPUT1-REF_FIELDNAME = 'BEDAT'.
F_OUTPUT1-SELTEXT_M = 'PO DATE'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME ='PMENGE'.
F_OUTPUT1-SELTEXT_M = 'PO QTY'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'MBLNR'.
F_OUTPUT1-REF_TABNAME = 'MSEG'.
F_OUTPUT1-REF_FIELDNAME = 'MBLNR'.
F_OUTPUT1-SELTEXT_M = 'GR NUMBER'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME ='BUDAT'.
F_OUTPUT1-SELTEXT_M = 'GR DATE'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME ='GMENGE'.
*F_OUTPUT1-REF_TABNAME = 'MSEG'.
*F_OUTPUT1-REF_FIELDNAME = 'MBLNR'.
F_OUTPUT1-SELTEXT_M = 'RECEIVED QTY'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'LMENGE01'.
F_OUTPUT1-REF_TABNAME = 'QALS'.
F_OUTPUT1-REF_FIELDNAME = 'LMENGE01'.
F_OUTPUT1-SELTEXT_M = 'ACCEPTED QTY'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
F_OUTPUT1-FIELDNAME = 'LMENGE07'.
F_OUTPUT1-REF_TABNAME = 'QALS'.
F_OUTPUT1-REF_FIELDNAME = 'LMENGE07'.
F_OUTPUT1-SELTEXT_M = 'REJECTED QTY'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
*
F_OUTPUT1-FIELDNAME ='REMARKS'.
**F_OUTPUT1-REF_TABNAME = 'MSEG'.
**F_OUTPUT1-REF_FIELDNAME = 'MBLNR'.
F_OUTPUT1-SELTEXT_M = 'REMARKS'.
APPEND F_OUTPUT1.
CLEAR F_OUTPUT1.
ENDFORM.
FORM SORT.
IT_SORT-FIELDNAME = 'MATNR'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'MAKTX'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'LIFNR'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'AFNAM'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'BANFN'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'BADAT'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'RMENGE'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'EBELN'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'BSART'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'BEDAT'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'PMENGE'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'MBLNR'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'BUDAT'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'GMENGE'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'LMENGE01'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
IT_SORT-FIELDNAME = 'LMENGE07'.
IT_SORT-UP = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
ENDFORM.
FORM GRID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
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 = F_OUTPUT1[]
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 = OUTPUT[].
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.
01-14-2008 7:04 AM
Hi prasad,
Whats the problem exactly. Is it not displaying any records ?
Thanks,
bsv.