2007 Dec 13 3:19 PM
he,
i have problr with alv grid, here is report.
REPORT ZMM_PP_TEST.
TABLES: ekko,
ekbe,
konp,
a017,
ekpo. "wo27184
DATA: g_x1 TYPE p,
g_x2 TYPE p,
g_x3 TYPE p, "wo27184
g_result TYPE f.
g_result TYPE p DECIMALS 2,
flag type c value ''.
data: ls_a017 like a017.
DATA: BEGIN OF ls_alvdispl,
bklas LIKE MBEW-BKLAS,
matnr LIKE EKPO-MATNR,
ebeln LIKE EKPO-EBELN,
belnr LIKE EKBE-BELNR,
bwart LIKE EKBE-BWART,
budat LIKE EKBE-BUDAT,
menge LIKE EKBE-MENGE,
dmbtr LIKE EKBE-DMBTR,
wrbtr LIKE EKBE-WRBTR,
waers LIKE EKBE-WAERS,
arewr LIKE EKBE-AREWR,
lfbnr LIKE EKBE-LFBNR,
reewr LIKE EKBE-REEWR,
refwr LIKE EKBE-REFWR,
werks LIKE EKPO-WERKS,
stprs LIKE MBEW-STPRS,
stval like ......
kbetr LIKE KONP-KBETR,
frval LIKE
bwIZ LIKE EKBE-BWART,
PPVacc LIKE
PPV LIKE EKBE-DMBTR,
invpr LIKE EKBE-BWART,
END OF ls_alvdispl.
DATA: lt_alvdispl LIKE ls_alvdispl OCCURS 10.
TYPE-POOLS:
slis,
icon.
SELECT-OPTIONS:
p_matnr FOR ekpo-matnr,
p_ebeln FOR ekpo-ebeln,
p_lifnr FOR ekko-lifnr,
p_werks FOR ekpo-werks,
p_lgort FOR ekpo-lgort,
p_bedat FOR ekko-bedat,
p_bsart FOR ekko-bsart,
p_bstyp FOR ekko-bstyp,
p_ekorg FOR ekko-ekorg.
START-OF-SELECTION.
SELECT *
FROM ekko
WHERE
bedat IN p_bedat
AND bsart IN p_bsart
AND bstyp IN p_bstyp
AND ekorg IN p_ekorg.
MOVE-CORRESPONDING ekko to ls_alvdispl.
SELECT * FROM ekpo WHERE ebeln = ekko-ebeln
AND loekz IN p_lgort
AND matnr IN p_matnr.
MOVE-CORRESPONDING ekpo to ls_alvdispl.
ENDSELECT.
SELECT * FROM ekpo
WHERE ebeln = ekpo-matnr
AND ebelp = ekpo-ebeln
AND werks = ekpo-werks.
IF ekbe-cpudt = ekko-aedat.
MOVE-corresponding ekpo to ls_alvdispl.
ENDIF.
append ls_alvdispl TO lt_alvdispl.
CLEAR ls_alvdispl-matnr.
ENDSELECT.
break-point.
IF sy-subrc <> 0.
CLEAR ls_alvdispl-budat.
CLEAR ls_alvdispl-wrbtr.
CLEAR ls_alvdispl-menge.
CLEAR ls_alvdispl-ernam2.
CLEAR ls_alvdispl-belnr.
CLEAR ls_alvdispl-mark.
append ls_alvdispl TO lt_alvdispl .
ENDIF.
ENDSELECT.
*break-point.
Freight rate-------- KONP- KBETR------
SELECT * FROM a017
WHERE lifnr = ekko-lifnr
AND matnr = ekpo-matnr
AND ekorg = ekko-ekorg
AND werks = ekpo-werks
AND datbi = a017-datbi
and datab = a017-datab.
IF ekbe-cpudt = ekko-aedat.
MOVE-corresponding ekpo to ls_alvdispl.
endif.
ENDSELECT.
SELECT *
FROM konp
WHERE knumh = a017-knumh
and konp-kschl = 'FRC2'.
*endselect.
*WRITE:/ 'Value of POs with creation date equal to EUR date :',
ls_alvdispl-WRBTR,
ls_alvdispl-waers,
*ls_alvdispl-BKLAS,
*ls_alvdispl-MATNR,
*ls_alvdispl-EBELN,
*ls_alvdispl-BELNR,
*ls_alvdispl-BWART,
*ls_alvdispl-DMBTR.
*
**MOVE-corresponding ls_konp to ls_alvdispl
*
*
*
*
**SELECT SINGLE * from KONP into ls_a017 WHERE konp-knumh = a017-knumh.
**append ls_alvdispl to lt_alvdispl.
*
*
**************ALV******************************************
*
DATA lv_repid LIKE sy-repid.
*lv_repid = sy-repid.
DATA t_fc TYPE slis_t_fieldcat_alv WITH HEADER LINE.
*tables lt_alvdispl structure ls_alvdispl.
REFRESH t_fc.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = lv_repid
I_INTERNAL_TABNAME = 'LS_ALVDISPL'
I_STRUCTURE_NAME = ''
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = ''
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = t_fc[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF sy-subrc <> 0.
*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSgno
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*break-point.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = lv_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 = t_fc[]
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 = LT_ALVDISPL
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.
he,
i have problr with alv grid, here is report.
REPORT ZMM_PP_TEST.
TABLES: ekko,
ekbe,
konp,
a017,
ekpo. "wo27184
DATA: g_x1 TYPE p,
g_x2 TYPE p,
g_x3 TYPE p, "wo27184
g_result TYPE f.
g_result TYPE p DECIMALS 2,
flag type c value ''.
data: ls_a017 like a017.
DATA: BEGIN OF ls_alvdispl,
bklas LIKE MBEW-BKLAS,
matnr LIKE EKPO-MATNR,
ebeln LIKE EKPO-EBELN,
belnr LIKE EKBE-BELNR,
bwart LIKE EKBE-BWART,
budat LIKE EKBE-BUDAT,
menge LIKE EKBE-MENGE,
dmbtr LIKE EKBE-DMBTR,
wrbtr LIKE EKBE-WRBTR,
waers LIKE EKBE-WAERS,
arewr LIKE EKBE-AREWR,
lfbnr LIKE EKBE-LFBNR,
reewr LIKE EKBE-REEWR,
refwr LIKE EKBE-REFWR,
werks LIKE EKPO-WERKS,
stprs LIKE MBEW-STPRS,
stval like ......
kbetr LIKE KONP-KBETR,
frval LIKE
bwIZ LIKE EKBE-BWART,
PPVacc LIKE
PPV LIKE EKBE-DMBTR,
invpr LIKE EKBE-BWART,
END OF ls_alvdispl.
DATA: lt_alvdispl LIKE ls_alvdispl OCCURS 10.
TYPE-POOLS:
slis,
icon.
SELECT-OPTIONS:
p_matnr FOR ekpo-matnr,
p_ebeln FOR ekpo-ebeln,
p_lifnr FOR ekko-lifnr,
p_werks FOR ekpo-werks,
p_lgort FOR ekpo-lgort,
p_bedat FOR ekko-bedat,
p_bsart FOR ekko-bsart,
p_bstyp FOR ekko-bstyp,
p_ekorg FOR ekko-ekorg.
START-OF-SELECTION.
SELECT *
FROM ekko
WHERE
bedat IN p_bedat
AND bsart IN p_bsart
AND bstyp IN p_bstyp
AND ekorg IN p_ekorg.
MOVE-CORRESPONDING ekko to ls_alvdispl.
SELECT * FROM ekpo WHERE ebeln = ekko-ebeln
AND loekz IN p_lgort
AND matnr IN p_matnr.
MOVE-CORRESPONDING ekpo to ls_alvdispl.
ENDSELECT.
SELECT * FROM ekpo
WHERE ebeln = ekpo-matnr
AND ebelp = ekpo-ebeln
AND werks = ekpo-werks.
IF ekbe-cpudt = ekko-aedat.
MOVE-corresponding ekpo to ls_alvdispl.
ENDIF.
append ls_alvdispl TO lt_alvdispl.
CLEAR ls_alvdispl-matnr.
ENDSELECT.
break-point.
IF sy-subrc <> 0.
CLEAR ls_alvdispl-budat.
CLEAR ls_alvdispl-wrbtr.
CLEAR ls_alvdispl-menge.
CLEAR ls_alvdispl-ernam2.
CLEAR ls_alvdispl-belnr.
CLEAR ls_alvdispl-mark.
append ls_alvdispl TO lt_alvdispl .
ENDIF.
ENDSELECT.
*break-point.
Freight rate-------- KONP- KBETR------
SELECT * FROM a017
WHERE lifnr = ekko-lifnr
AND matnr = ekpo-matnr
AND ekorg = ekko-ekorg
AND werks = ekpo-werks
AND datbi = a017-datbi
and datab = a017-datab.
IF ekbe-cpudt = ekko-aedat.
MOVE-corresponding ekpo to ls_alvdispl.
endif.
ENDSELECT.
SELECT *
FROM konp
WHERE knumh = a017-knumh
and konp-kschl = 'FRC2'.
*endselect.
*WRITE:/ 'Value of POs with creation date equal to EUR date :',
ls_alvdispl-WRBTR,
ls_alvdispl-waers,
*ls_alvdispl-BKLAS,
*ls_alvdispl-MATNR,
*ls_alvdispl-EBELN,
*ls_alvdispl-BELNR,
*ls_alvdispl-BWART,
*ls_alvdispl-DMBTR.
*
**MOVE-corresponding ls_konp to ls_alvdispl
*
*
*
*
**SELECT SINGLE * from KONP into ls_a017 WHERE konp-knumh = a017-knumh.
**append ls_alvdispl to lt_alvdispl.
*
*
**************ALV******************************************
*
DATA lv_repid LIKE sy-repid.
*lv_repid = sy-repid.
DATA t_fc TYPE slis_t_fieldcat_alv WITH HEADER LINE.
*tables lt_alvdispl structure ls_alvdispl.
REFRESH t_fc.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = lv_repid
I_INTERNAL_TABNAME = 'LS_ALVDISPL'
I_STRUCTURE_NAME = ''
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = ''
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = t_fc[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF sy-subrc <> 0.
*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSgno
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*break-point.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = lv_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 = t_fc[]
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 = LT_ALVDISPL
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.
2007 Dec 13 3:22 PM
hi Nick
check in debug mode if t_fc[] ur field catalog table is being filled and all the fields have the field catalog assigned
2007 Dec 13 3:24 PM
2007 Dec 13 3:25 PM
2007 Dec 13 3:28 PM
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = lv_repid
*I_INTERNAL_TABNAME = ''
<b>* I_STRUCTURE_NAME = 'LS_ALVDISPL'</b> < check this might work
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = ''
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = t_fc[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
2007 Dec 13 3:30 PM
hi
i think so u didnt create field catlog. if u r created that check the data u got in that r not..
2007 Dec 13 3:31 PM
hi
You are not maintaining field catalogs in the program. If you do this it should work.
in this we generally we give the position, heading of the column and particular itab field.
See the below example code for this.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-ref_fieldname = 'MATNR'.
wa_fieldcat-ref_tabname = 'MARA'.
wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO p_tbl_fieldcat.
Reward if it is helpful.
Thanks
Siva Kumar
2008 Nov 28 8:27 AM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |