Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SAP Query hierarchically

Former Member
0 Likes
353

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
336

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

2 REPLIES 2
Read only

Former Member
0 Likes
337

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

Read only

0 Likes
336

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.