0% found this document useful (0 votes)
24 views6 pages

Sales and Material Data Display Program

The document outlines a program designed to display sales and material details in block mode using ABAP. It includes steps for creating structures, designing a selection screen, fetching sales and material data, and displaying the data in separate blocks. The program utilizes various functions for data retrieval and display, along with defined data types and internal tables.

Uploaded by

Nikhil Kumar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views6 pages

Sales and Material Data Display Program

The document outlines a program designed to display sales and material details in block mode using ABAP. It includes steps for creating structures, designing a selection screen, fetching sales and material data, and displaying the data in separate blocks. The program utilizes various functions for data retrieval and display, along with defined data types and internal tables.

Uploaded by

Nikhil Kumar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

PROGRAM: Display sales and material details in block mode

Steps:

Step 1: Create structures and internal tables

Step 2: Design selection screen

Step 3: Fetch sales data and material data

Step 4: Display sales data in one block and material data in another block

TYPES : BEGIN OF lty_sales,


vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
END OF lty_sales,

BEGIN OF lty_mat,
matnr TYPE mara-matnr,
ersda TYPE mara-ersda,
maktx TYPE makt-maktx,
END OF lty_mat.

DATA : gt_sales TYPE STANDARD TABLE OF lty_sales,


gt_mat TYPE STANDARD TABLE OF lty_mat,
gs_mat TYPE lty_mat,
gs_sales TYPE lty_sales.
gt_fcat TYPE STANDARD TABLE OF slis_fieldcat_alv,
gt_fcat12 TYPE STANDARD TABLE OF slis_fieldcat_alv,
gs_fcat TYPE slis_fieldcat_alv.
gt_events TYPE STANDARD TABLE OF slis_alv_event,
gs_events TYPE slis_alv_event.

SELECTION-SCREEN BEGIN OF block b1 WITH FRAME TITLE text-001.


PARAMETER p_erdat TYPE vbak-erdat .
SELECTION-SCREEN END OF block b1.

START-OF-SELECTION.
PERFORM sales_fetch.
PERFORM mat_fetch.
end-of-selection.
PERFORM alv_dis.

FORM sales_fetch .
REFRESH gt_sales.
SELECT vbak~vbeln

vbak~erdat

vbap~posnr

vbap~matnr INTO TABLE gt_sales


FROM vbak INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
WHERE vbak~erdat = p_erdat.
IF sy-subrc = 0.
SORT gt_sales by vbeln posnr.
ENDIF.
ENDFORM.

FORM alv_dis .
DATA ls_layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
CLEAR ls_layout.
ls_layout-zebra = 'X'.
ls_layout-colwidth_optimize ='X'.

PERFORM fill_fcat.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = ls_layout
it_fieldcat = gt_fcat
i_tabname = 'GT_SALES'
it_events = gt_events
TABLES
t_outtab = gt_sales
EXCEPTIONS
PROGRAM_ERROR =1
MAXIMUM_OF_APPENDS_REACHED =2
OTHERS = 3.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'


EXPORTING
i_callback_program = sy-repid.
CLEAR ls_layout.
ls_layout-zebra = 'X'.
ls_layout-colwidth_optimize ='X'.

PERFORM fill_fcat.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'


EXPORTING
is_layout = ls_layout
it_fieldcat = gt_fcat12
i_tabname = 'GT_MAT'
it_events = gt_events
TABLES
t_outtab = gt_mat
EXCEPTIONS
PROGRAM_ERROR =1
MAXIMUM_OF_APPENDS_REACHED =2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
PROGRAM_ERROR =1
OTHERS = 2.
ENDFORM.

FORM fill_fcat .
REFRESH gt_fcat.
CLEAR gs_fcat.
gs_fcat-fieldname = 'VBELN'.
gs_fcat-col_pos = '1'.
gs_fcat-tabname = 'GT_SALES'.
gs_fcat-seltext_s = 'Sales No'.
APPEND gs_fcat to gt_fcat.

CLEAR gs_fcat.
gs_fcat-fieldname = 'ERDAT'.
gs_fcat-col_pos = '2'.
gs_fcat-tabname = 'GT_SALES'.
gs_fcat-seltext_s = 'Date'.
APPEND gs_fcat to gt_fcat.

CLEAR gs_fcat.
gs_fcat-fieldname = 'POSNR'.
gs_fcat-col_pos = '3'.
gs_fcat-tabname = 'GT_SALES'.
gs_fcat-seltext_s = 'Item No'.
APPEND gs_fcat to gt_fcat.

CLEAR gs_fcat.
gs_fcat-fieldname = 'MATNR'.
gs_fcat-col_pos = '4'.
gs_fcat-tabname = 'GT_SALES'.
gs_fcat-seltext_s = 'Material No'.
APPEND gs_fcat to gt_fcat.

REFRESH gt_fcat12.
CLEAR gs_fcat.
gs_fcat-fieldname ='MATNR'.
gs_fcat-col_pos = '1'.
gs_fcat-tabname = 'GT_MAT'.
gs_fcat-seltext_s = 'Material No'.
APPEND gs_fcat to gt_fcat12.

CLEAR gs_fcat.
gs_fcat-fieldname ='ERSDA'.
gs_fcat-col_pos = '2'.
gs_fcat-tabname = 'GT_MAT'.
gs_fcat-seltext_s = 'Date'.
APPEND gs_fcat to gt_fcat12.

CLEAR gs_fcat.
gs_fcat-fieldname ='MAKTX'.
gs_fcat-col_pos = '3'.
gs_fcat-tabname = 'GT_MAT'.
gs_fcat-seltext_s = 'Material Des'.
APPEND gs_fcat to gt_fcat12.
ENDFORM. " FILL_FCAT
FORM material_fetch .

IF gt_sales is not INITIAL.


refresh gt_mat.
SELECT mara~matnr mara~ersda makt~maktx INTO TABLE gt_mat
FROM mara INNER JOIN makt ON mara~matnr = makt~matnr
FOR ALL ENTRIES IN gt_sales
WHERE mara~matnr = gt_sales-matnr and makt~spras = 'E'.
IF sy-subrc = 0.
SORT gt_mat by matnr.
ENDIF.
ENDIF.
ENDFORM.

Input:

You might also like