当前位置:网站首页>ALV program collection
ALV program collection
2022-07-26 05:11:00 【Lunar Yin shortage】
*&---------------------------------------------------------------------*
*& Report ZALVTEST002
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZALVTEST002.
TYPE-POOLs:slis.
tables:vbak.
TYPES: BEGIN OF gty_alv,
vkorg TYPE vbak-vkorg , " Sales organization
vtweg TYPE vbak-vtweg , " Distribution channels
vkgrp TYPE vbak-vkgrp , " Sales group
auart TYPE vbak-auart , " Order type
erdat TYPE vbak-erdat , " Order date
vbeln TYPE vbak-vbeln , " The order number
END OF gty_alv.
data gt_vbak type table of gty_alv.
data gs_vbak type gty_alv.
DATA gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA gs_fieldcat TYPE slis_fieldcat_alv.
DATA gs_layout TYPE slis_layout_alv.
* Macro definition
DEFINE %%append_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = &1.
gs_fieldcat-seltext_m = &2.
APPEND gs_fieldcat TO gt_fieldcat.
END-OF-DEFINITION.
SELECTION-SCREEN : BEGIN OF BLOCK vie WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS s_vbeln FOR vbak-vbeln.
* The radio
PARAMETERS: p_1 RADIOBUTTON GROUP grp1 DEFAULT 'X' .
PARAMETERS: p_2 RADIOBUTTON GROUP grp1 .
SELECTION-SCREEN:END OF BLOCK vie.
start-of-selection.
perform get_data. " Count
IF gt_vbak IS NOT INITIAL.
PERFORM show_data. " Display the data
ELSE.
MESSAGE s000 WITH ' No data '.
FORM get_data . " Count
IF p_1 = 'X'.
SELECT
vkorg " Sales organization
vtweg " Distribution channels
vkgrp " Sales group
auart " Order type
erdat " Order date
vbeln " The order number
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE gt_vbak
WHERE vbeln IN s_vbeln.
ELSE.
MESSAGE s000 WITH ' no '.
ENDIF.
ENDFORM.
FORM show_data . " Display the data
PERFORM bulid_fieldcat. " Field shows
PERFORM build_alv. "alv Show
PERFORM bulid_layout. "layout Show
ENDFORM.
FORM build_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-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 = gs_layout
it_fieldcat = gt_fieldcat
* 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 = gt_vbak
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.
FORM bulid_fieldcat .
%%append_fieldcat:
'vkorg' ' Sales organization ',
'vtweg' ' Distribution channels ',
'vkgrp' ' Sales group ',
'auart' ' Order type ',
'erdat' ' Order date ',
'vbeln' ' The order number '.
ENDFORM.
FORM bulid_layout .
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Report ZALVTEST003
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZALVTEST003." The reporter declares
TYPE-POOLS:slis." Call the type pool existing in the system
* Calling ALV Before , You need to define Layout and Fieldcat, They belong to slis Type pool
DATA:fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
layout TYPE slis_layout_alv,
w_repid TYPE sy-repid." Record the current program name of the system
TABLES:bkpf.
DATA:lbkpf LIKE STANDARD TABLE OF bkpf WITH HEADER LINE." Internal table in standard table format lbkpf
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE t0." Define the screen
SELECT-OPTIONS:s_bukrs FOR bkpf-bukrs OBLIGATORY," Condition input box , One for Corresponding to one
s_belnr FOR bkpf-belnr,"for The front is the name of the field , You can modify , But be careful not to exceed 8 Characters , Otherwise, an error will be reported
s_gjahr FOR bkpf-gjahr.
SELECTION-SCREEN END OF BLOCK blk.
START-OF-SELECTION.
* Call subroutine
PERFORM getdata.
PERFORM catalog.
PERFORM alvshow.
* Define subroutine
FORM getdata." Query statement
SELECT *
FROM bkpf INTO CORRESPONDING FIELDS OF TABLE lbkpf
WHERE bukrs IN s_bukrs
AND belnr IN s_belnr
AND gjahr IN s_gjahr.
ENDFORM.
FORM catalog." Header
w_repid = sy-repid.
CLEAR fieldcat.
DEFINE fieldcatset." Macro definition
fieldcat-just = 'C'." The field is centered
fieldcat-outputlen = 10." Length of custom field
fieldcat-ref_tabname = 'BKPF'." Call the data structure of the transparent table
fieldcat-fieldname = &1." Transparent table field name
fieldcat-seltext_l = &2."ALV Name
fieldcat-col_pos = &3." Column position
APPEND fieldcat.
END-OF-DEFINITION.
fieldcatset 'BUKRS' ' Company code ' sy-tabix.
fieldcatset 'gjahr' ' Fiscal year ' sy-tabix.
fieldcatset 'BUKRS' ' Accounting period ' sy-tabix.
fieldcatset 'BELNR' ' Voucher No ' sy-tabix.
fieldcatset 'BLART' ' Voucher type ' sy-tabix.
fieldcatset 'BLDAT' ' Certificate date ' sy-tabix.
fieldcatset 'BUDAT' ' Posting date ' sy-tabix.
fieldcatset 'XSTOV' ' Reversal mark ' sy-tabix.
fieldcatset 'STBLG' ' Reversal voucher ' sy-tabix.
fieldcatset 'PPNAM' ' Prepared by ' sy-tabix.
fieldcatset 'USNAM' ' Posted by ' sy-tabix.
READ TABLE fieldcat INDEX 3." Read the third column of the report
fieldcat-hotspot = 'X'." Mouse Hotspot Events
fieldcat-key = 'X'." Defined as primary key ( color changing )
MODIFY fieldcat INDEX 3." Modify the style
READ TABLE fieldcat INDEX 4.
fieldcat-HOTSPOT = 'X'.
fieldcat-emphasize = 'C500'.
MODIFY fieldcat INDEX 4.
READ TABLE fieldcat INDEX 1.
fieldcat-emphasize = 'C600'.
MODIFY fieldcat INDEX 1.
READ TABLE fieldcat INDEX 2.
fieldcat-emphasize = 'C300'.
MODIFY fieldcat INDEX 2.
READ TABLE fieldcat INDEX 5.
fieldcat-emphasize = 'C600'.
MODIFY fieldcat INDEX 5.
READ TABLE fieldcat INDEX 6.
fieldcat-emphasize = 'C600'.
MODIFY fieldcat INDEX 6.
READ TABLE fieldcat INDEX 7.
fieldcat-emphasize = 'C100'.
MODIFY fieldcat INDEX 7.
READ TABLE fieldcat INDEX 8.
fieldcat-emphasize = 'C200'.
MODIFY fieldcat INDEX 8.
READ TABLE fieldcat index 9.
fieldcat-checkbox = 'X'.
MODIFY fieldcat index 9.
*layout-colwidth_optimize = 'X'.
layout-zebra = 'X'." The style of zebra crossing
ENDFORM.
* Subroutine responding to mouse click time
FORM ALV_USER_COMMAND USING R_UCOMM LIKE SY-ucomm
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'." The default value is this , It is said that you can modify the information on the Internet ~
READ TABLE lbkpf INDEX RS_SELFIELD-tabindex.
SET PARAMETER ID 'BLN' FIELD lbkpf-belnr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM.
FORM FRM_SET_PF_STATUS USING PT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ZHKALV1'.
ENDFORM.
FORM alvshow.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = w_repid" Program name
I_CALLBACK_PF_STATUS_SET = 'FRM_SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'ALV_USER_COMMAND'" Yes ALV Trigger the defined subroutine when operating
* 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 = ' Accounting voucher '" Title name
* I_GRID_SETTINGS =
is_layout = layout" Defined by the program layout name
it_fieldcat = fieldcat[]" Definition fieldcat data
* 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 = lbkpf
EXCEPTIONS" The following are the default
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.

边栏推荐
- 手把手教你用代码实现SSO单点登录
- nacos注册中心
- Compilation method of flood control evaluation report and flood modeling under the new guidelines
- Learn to map with nature medicine -- complex heat map
- 没背景、没学历?专科测试员进入互联网大厂是不是真的没希望?
- 推荐必读:测试人员如何快速熟悉新业务?
- C语言力扣第41题之缺失的第一个正数。两种方法,预处理快排与原地哈希
- Test of countlaunch demo
- 普林斯顿微积分读本02第一章--函数的复合、奇偶函数、函数图像
- 基于遥感解译与GIS技术环境影响评价图件制作
猜你喜欢

推荐系统-机器学习

嵌入式分享合集20

Improve reduce parallelism in shuffle operation

嵌入式开发小记,实用小知识分享

DOM事件流 事件冒泡-事件捕获-事件委托

JVM第五讲:纵横数据如何应对洪峰推送

MySQL eight knowledge points: from getting started to deleting the database

What are the characteristics of the grammar of Russian documents in the translation of scientific papers

JVM Lecture 2: class loading mechanism
![[weekly translation go] how to write your first program with go](/img/77/cf77a46340a39797382fd7b60517d5.png)
[weekly translation go] how to write your first program with go
随机推荐
【ACWing】1268. 简单题
JVM Lecture 2: class loading mechanism
The importance of supporting horizontal expansion of time series database
Application of remote sensing, GIS and GPS technology in hydrology, meteorology, disasters, ecology, environment and health
Earth system model (cesm) practical technology
Redis expiration deletion strategy and memory obsolescence strategy
C语言实现发牌功能基本方法
LeetCode链表问题——203.移除链表元素(一题一文学会链表)
ThreadLocal transfer between parent and child threads in asynchronous
[pytorch] install torch 1.8.1 and check whether torch version and GPU are available
The pit of history can only be filled up as far as possible
五个维度着手MySQL的优化,我和面试官都聊嗨了
你对“happen-before原则”的理解可能是错的?
JVM Lecture 6: how to solve the frequent FGC in online environment?
uniapp小程序框架-一套代码,多段覆盖
An online accident, I suddenly realized the essence of asynchrony
[acwing] 1268. Simple questions
Briefly describe the application fields of WMS warehouse management system
MODFLOW Flex、GMS、FEFLOW、HYDRUS实践应用
NPM operation instruction