‎2007 Oct 03 8:01 AM
Hello guys,
I am trying to create a SAP Query from a join of 2 tables. One of them contains some document header, the other one, for that header several rows.
I would like to display the Query for that join, with alv grid or a abap list, or something... but hierarchically. First the info from the header, then (maybe indented) the multiple rows regarding that header.
Is there any way i cand do that?
Thanks,
Andrew
‎2007 Oct 03 8:14 AM
try this:
REPORT ytest .
TYPE-POOLS: SLIS.
TYPES: BEGIN OF TY_VBAK,
VBELN TYPE VBELN,
ERDAT TYPE ERDAT,
NETWR TYPE NETWR,
WAERK TYPE WAERK,
END OF TY_VBAK.
TYPES: BEGIN OF TY_VBAP,
VBELN TYPE VBELN,
POSNR TYPE POSNR,
ARKTX TYPE ARKTX,
NETWR TYPE NETWR,
END OF TY_VBAP.
&
DATA: W_VBAK TYPE TY_VBAK.
DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.
DATA: W_VBAP TYPE TY_VBAP.
DATA: T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 1.
&
DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.
&
CONSTANTS: C_VBAK TYPE SLIS_TABNAME VALUE W_VBAK.
CONSTANTS: C_VBAP TYPE SLIS_TABNAME VALUE W_VBAP.
&
DATA: W_KEYINFO TYPE SLIS_KEYINFO_ALV.
W_KEYINFO-HEADER01 = VBELN.
W_KEYINFO-ITEM01 = VBELN.
&
W_FCAT-COL_POS = 1.
W_FCAT-FIELDNAME = VBELN.
W_FCAT-SELTEXT_M = ORDER NO.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 2.
W_FCAT-FIELDNAME = ERDAT.
W_FCAT-SELTEXT_M = DATE.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 3.
W_FCAT-FIELDNAME = NETWR.
W_FCAT-SELTEXT_M = ORDER VALUE.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 4.
W_FCAT-FIELDNAME = POSNR.
W_FCAT-SELTEXT_M = ITEM NO.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 5.
W_FCAT-FIELDNAME = ARKTX.
W_FCAT-SELTEXT_L = DESCRIPTION.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 6.
W_FCAT-FIELDNAME = NETWR.
W_FCAT-SELTEXT_M = ITEM VALUE.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
&
SELECT-OPTIONS: ORDNO FOR W_VBAP-VBELN.
&SELEC HEADER DATA AND SORT-
SELECT VBELN ERDAT NETWR FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE T_VBAK
WHERE VBELN IN ORDNO.
SORT T_VBAK BY VBELN.
&SELEC ITEM DATA AND SORT-
SELECT VBELN POSNR ARKTX NETWR FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE T_VBAP.
SORT T_VBAP BY POSNR.
&REUSE_ALV_HIERSEQ_LIST_DISPLAY-
CALL FUNCTION REUSE_ALV_HIERSEQ_LIST_DISPLAY
EXPORTING
IT_FIELDCAT = T_FCAT
I_TABNAME_HEADER = C_VBAK
I_TABNAME_ITEM = C_VBAP
IS_KEYINFO = W_KEYINFO
TABLES
T_OUTTAB_HEADER = T_VBAK
T_OUTTAB_ITEM = T_VBAP.
reward if useful
‎2007 Oct 03 8:14 AM
try this:
REPORT ytest .
TYPE-POOLS: SLIS.
TYPES: BEGIN OF TY_VBAK,
VBELN TYPE VBELN,
ERDAT TYPE ERDAT,
NETWR TYPE NETWR,
WAERK TYPE WAERK,
END OF TY_VBAK.
TYPES: BEGIN OF TY_VBAP,
VBELN TYPE VBELN,
POSNR TYPE POSNR,
ARKTX TYPE ARKTX,
NETWR TYPE NETWR,
END OF TY_VBAP.
&
DATA: W_VBAK TYPE TY_VBAK.
DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.
DATA: W_VBAP TYPE TY_VBAP.
DATA: T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 1.
&
DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.
&
CONSTANTS: C_VBAK TYPE SLIS_TABNAME VALUE W_VBAK.
CONSTANTS: C_VBAP TYPE SLIS_TABNAME VALUE W_VBAP.
&
DATA: W_KEYINFO TYPE SLIS_KEYINFO_ALV.
W_KEYINFO-HEADER01 = VBELN.
W_KEYINFO-ITEM01 = VBELN.
&
W_FCAT-COL_POS = 1.
W_FCAT-FIELDNAME = VBELN.
W_FCAT-SELTEXT_M = ORDER NO.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 2.
W_FCAT-FIELDNAME = ERDAT.
W_FCAT-SELTEXT_M = DATE.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 3.
W_FCAT-FIELDNAME = NETWR.
W_FCAT-SELTEXT_M = ORDER VALUE.
W_FCAT-TABNAME = W_VBAK.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 4.
W_FCAT-FIELDNAME = POSNR.
W_FCAT-SELTEXT_M = ITEM NO.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 5.
W_FCAT-FIELDNAME = ARKTX.
W_FCAT-SELTEXT_L = DESCRIPTION.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
W_FCAT-COL_POS = 6.
W_FCAT-FIELDNAME = NETWR.
W_FCAT-SELTEXT_M = ITEM VALUE.
W_FCAT-TABNAME = W_VBAP.
APPEND W_FCAT TO T_FCAT.
&
SELECT-OPTIONS: ORDNO FOR W_VBAP-VBELN.
&SELEC HEADER DATA AND SORT-
SELECT VBELN ERDAT NETWR FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE T_VBAK
WHERE VBELN IN ORDNO.
SORT T_VBAK BY VBELN.
&SELEC ITEM DATA AND SORT-
SELECT VBELN POSNR ARKTX NETWR FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE T_VBAP.
SORT T_VBAP BY POSNR.
&REUSE_ALV_HIERSEQ_LIST_DISPLAY-
CALL FUNCTION REUSE_ALV_HIERSEQ_LIST_DISPLAY
EXPORTING
IT_FIELDCAT = T_FCAT
I_TABNAME_HEADER = C_VBAK
I_TABNAME_ITEM = C_VBAP
IS_KEYINFO = W_KEYINFO
TABLES
T_OUTTAB_HEADER = T_VBAK
T_OUTTAB_ITEM = T_VBAP.
reward if useful
‎2007 Oct 03 9:43 AM
Thanks you very much.. That really helps me.
One other thing. Is there any way so i can display the list like a nice alv_grid (not the text, and lines one). Like when it is displayed at reuse_alv_grid_display.