ABAP ALV Report- SD FLOW ALV
*&———————————————————————* *& Report ZJACKTEST *& *&———————————————————————* *& *& *&———————————————————————* REPORT ZJACKTEST. TYPE-POOLS: slis. TABLES: vbak,vbap, knvv, kna1, mara ,lips, vbrp. TYPES: BEGIN OF record, sdoc LIKE vbak-vbeln, sitem LIKE vbap-posnr, mcode LIKE mara-matnr, mname LIKE vbap-arktx, oquanti LIKE vbap-kwmeng, ovalue LIKE vbap-netwr, ocurrency LIKE vbap-waerk, ddoc LIKE lips-vbeln, ditem LIKE lips-posnr, idoc LIKE vbrp-vbeln, iitem LIKE vbrp-posnr, END OF record. DATA: itab TYPE STANDARD TABLE OF record WITH HEADER LINE. DATA: name1 LIKE kna1-name1, name2 LIKE kna1-name2. DATA: i_fieldcat_alv TYPE slis_t_fieldcat_alv WITH HEADER LINE, it_events TYPE slis_alv_event OCCURS 1 WITH HEADER LINE, alv_event TYPE slis_t_event, I_layout TYPE slis_layout_alv, i_fieldcat TYPE slis_fieldcat_alv, pos TYPE i VALUE 1, w_repid LIKE sy-repid. *———————————————————————-* * Selection-screen design * *———————————————————————-* SELECT-OPTIONS: o_date FOR vbak-erdat OBLIGATORY. "sales docu date PARAMETERS: customer LIKE vbak-kunnr OBLIGATORY DEFAULT ‘GCN00010′, "customer code material LIKE mara-matnr OBLIGATORY DEFAULT ‘000000000280012001′. "material number *———————————————————————-* * Start of selection event * *———————————————————————-* *START-OF-SELECTION. PERFORM data_selection. perform layout_build. PERFORM fields. PERFORM append_alv_event CHANGING alv_event. PERFORM display_data. *———————————————————————-* *form data_selection ** *———————————————————————-* FORM data_selection. SELECT a~vbeln b~posnr c~matnr b~arktx b~kwmeng b~netwr b~waerk c~vbeln c~posnr d~vbeln d~posnr INTO (itab-sdoc, itab-sitem, itab-mcode, itab-mname, itab-oquanti,itab-ovalue,itab-ocurrency, itab-ddoc, itab-ditem, itab-idoc, itab-iitem) FROM ( ( lips AS c INNER JOIN vbrp AS d ON c~vbeln = d~vgbel AND c~posnr = d~vgpos INNER JOIN vbap AS b ON c~vgbel = b~vbeln AND c~vgpos = b~posnr ) INNER JOIN vbak AS a ON a~vbeln = b~vbeln ) WHERE a~erdat IN o_date AND a~kunnr = customer AND b~matnr = material. APPEND itab. ENDSELECT. IF sy-subrc NE 0. MESSAGE ‘No Corresponding Record!’ TYPE ‘I’. ENDIF. ENDFORM. "data_selection *———————————————————————-* *form fields ** *———————————————————————-* FORM fields. REFRESH i_fieldcat_alv. pos = 1. CLEAR i_fieldcat. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘SDOC’. i_fieldcat-seltext_l = ‘주문번호’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘SITEM’. i_fieldcat-seltext_l = ‘아이템번호’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘MCODE’. i_fieldcat-seltext_l = ‘제품코드’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘MNAME’. i_fieldcat-seltext_l = ‘제품명’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘OQUANTI’. i_fieldcat-seltext_l = ‘주문수량’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘OVALUE’. i_fieldcat-seltext_l = ‘주문실적’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘OCURRENCY’. i_fieldcat-seltext_l = ‘단위’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘DDOC’. i_fieldcat-seltext_l = ‘납품문서번호’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘DITEM’. i_fieldcat-seltext_l = ‘아이템’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘IDOC’. i_fieldcat-seltext_l = ‘대금청구번호’. APPEND i_fieldcat TO i_fieldcat_alv. pos = pos + 1. i_fieldcat-col_pos = pos. i_fieldcat-fieldname = ‘IITEM’. i_fieldcat-seltext_l = ‘아이템번호’. APPEND i_fieldcat TO i_fieldcat_alv. CLEAR i_fieldcat. ENDFORM. "fields *———————————————————————-* *form display_data ** *———————————————————————-* FORM display_data. w_repid = sy-repid. CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’ EXPORTING i_callback_program = w_repid i_callback_user_command = ‘USER_COMMAND’ is_layout = i_layout it_events = alv_event[] * i_save = ‘ ‘ it_fieldcat = i_fieldcat_alv[] TABLES t_outtab = itab. ENDFORM. "display_data *———————————————————————-* *form layout_build ** *———————————————————————-* Form layout_build. * I_layout-detail_popup = ‘X’. " Display row in popup I_layout-get_selinfos = ‘X’. " Read selection screen in i_layout-colwidth_optimize = ‘X’. * layout-zebra = ‘X’. "striped pattern * I_layout-f2code = ‘&ETA’. endform. " BUILD_LAYOUT *———————————————————————-* * <–P_ALV_EVENT text *———————————————————————-* FORM append_alv_event CHANGING p_alv_event TYPE slis_t_event. DATA ls_events TYPE slis_alv_event. ls_events-name = ‘USER_COMMAND’. ls_events-form = ‘USER_COMMAND’. APPEND ls_events TO p_alv_event. * ls_events-name = ‘TOP_OF_PAGE’. * ls_events-form = ‘TOP_OF_PAGE’. * APPEND ls_events TO p_alv_event. ENDFORM. " append_alv_event *&———————————————————————* *& Form LINE_SELECTION *&———————————————————————* * text *———————————————————————-* * –> p1 text * <– p2 text *———————————————————————-* FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. CHECK r_ucomm EQ ‘&IC1′ AND NOT rs_selfield-value IS INITIAL. CASE rs_selfield-fieldname. WHEN ‘ITAB-SDOC’. SET PARAMETER ID ‘AUN’ FIELD rs_selfield-valuE. CALL TRANSACTION ‘VA03′ AND SKIP FIRST SCREEN. WHEN ‘ITAB-DDOC’. SET PARAMETER ID ‘VL’ FIELD rs_selfield-value. CALL TRANSACTION ‘VL03N’ AND SKIP FIRST SCREEN. WHEN ‘ITAB-IDOC’. SET PARAMETER ID ‘VF’ FIELD rs_selfield-value. CALL TRANSACTION ‘VF03′ AND SKIP FIRST SCREEN. ENDCASE.
Responses to “ABAP ALV Report- SD FLOW ALV”
Leave a Reply