ALV Grid Display ,Top-Of-Page, Variant, DownLoad...

本文介绍了一个简单的ABAP程序ZW_ALV_SIMPLE_01,该程序使用ALV (Application List Viewer) 控件展示数据,并具备自定义下载功能。程序包括页面顶部标题、LOGO,并支持通过ALVLayoutVariant进行变体设置,允许用户根据需求下载相同格式的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序说明: User Function REUSE_ALV_GRID_DISPLAY Show Screen data.

1. TO-OF-PAGE , Title 标题,有Logo

2. variant ,可根据ALV Layout Variant 自定义download 文件,跟显示的alv数据一样。

3. WS_Dowload

4. Open Dataset Download

*----------------------------------------------------------------------
*ProgramID/Name:ZW_ALV_SIMPLE_01DateWritten:201XXXXXX
*Author'sName:Lilo.ZhuLastUpdate:
*ProgramTitle:
*ProjectName:XXXX
*Version:1.0
*----------------------------------------------------------------------
*Description:(ASimpleALVProgramIntroductionALVCodingPart)
*----------------------------------------------------------------------
*ChangeHistory
*----------------------------------------------------------------------
*Date|Programmer|Corr.#|Description
*201XXXXXX|Lilo.Zhu||NewCreate
*|||
*|||
*-----------------------------------------------------------------------

REPORTZW_ALV_SIMPLE_01.
*------TYPE-POOLS------
TYPE-POOLS:SLIS.

*------TABLES------
TABLES:EKKO."PurchaseDocument

*------ALVCOMPLEMENT------
*->LAYOUT
DATA:S_LAYOUTTYPESLIS_LAYOUT_ALV.
*->FIELD
DATA:IT_FIELDCATTYPESLIS_T_FIELDCAT_ALV,
S_FIELDCAT
TYPESLIS_FIELDCAT_ALV.
*->EVENT
DATA:IT_EVENTTYPESLIS_T_EVENT,
S_EVENT
TYPESLIS_ALV_EVENT.
*->TOPOFPAGETITLEINFORMATION
DATA:IT_LIST_TOP_OF_PAGETYPESLIS_T_LISTHEADER.
*->VARINAT
DATA:G_EXIT(1)TYPEC,
G_SAVE(
1)TYPECVALUE'A',
GX_VARIANT
LIKEDISVARIANT,
G_VARIANT
LIKEDISVARIANT.
*------FORDISPLAYVARIANTUSAGE------
DATA:BEGINOFGT_ALV_FCOCCURS100,
FLD_NAME(
30)TYPEC,

COL_POS
TYPEI,
ENDOFGT_ALV_FC.
DATA:G_REPIDLIKESY-REPID.

DATA:I_FCOLTYPESY-TITLEOCCURS0WITHHEADERLINE,"FIELDNAME
G_SVFILE
LIKERLGRAP-FILENAME,"ServerPahtFilename
G_FILENAME
LIKERLGRAP-FILENAME."physicalfilenameforOPENDS

*------DEFINEINNERTABLE------
TYPES:BEGINOFTP_TAB,
EBELN
LIKEEKKO-EBELN,
BUKRS
LIKEEKKO-BUKRS,
ENDOFTP_TAB.

DATA:IT_TABTYPETABLEOFTP_TABWITHHEADERLINE.

SELECTION-
SCREENBEGINOFBLOCKB001WITHFRAMETITLETEXT-001.
PARAMETER:P_VARLIKEDISVARIANT-VARIANT.
SELECTION-
SCREENENDOFBLOCKB001.

SELECTION-
SCREENBEGINOFBLOCKB2WITHFRAMETITLETEXT-002.
PARAMETERS:P_ALVRADIOBUTTONGROUPR1DEFAULT'X'USER-COMMANDC1.
PARAMETERS:RB_WSDLRADIOBUTTONGROUPR1.
PARAMETERS:P_WSFILELIKERLGRAP-FILENAME
DEFAULT'C:\DATA\SO.TXT'.

PARAMETERS:RB_OPENRADIOBUTTONGROUPR1.
PARAMETERS:P_SVPATHLIKERLGRAP-FILENAME.
PARAMETERS:P_SVFILELIKERLGRAP-FILENAME.

SELECTION-
SCREENENDOFBLOCKB2.

*------INITIALIZATION------
INITIALIZATION.
G_REPID=SY-REPID.
G_VARIANT-USERNAME=SY-UNAME.
PERFORMFRM_ALV_EVENT.
PERFORMFRM_VARIANT_INIT.

GX_VARIANT=G_VARIANT.
CALLFUNCTION'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE=G_SAVE
CHANGING
CS_VARIANT=GX_VARIANT
EXCEPTIONS
NOT_FOUND=
2.
IFSY-SUBRC=0.
P_VAR=GX_VARIANT-VARIANT.
ENDIF.


*------ATSELECTION-SCREEN------
ATSELECTION-SCREENONVALUE-REQUESTFORP_VAR.
CALLFUNCTION'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT=G_VARIANT
I_SAVE=G_SAVE
IMPORTING
E_EXIT=G_EXIT
ES_VARIANT=GX_VARIANT
EXCEPTIONS
NOT_FOUND=
2.

IFSY-SUBRC=2.
MESSAGEIDSY-MSGIDTYPE'S'NUMBERSY-MSGNO
WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
ELSE.
IFG_EXIT=SPACE.
P_VAR=GX_VARIANT-VARIANT.
ENDIF.
ENDIF.

AtSelection-ScreenOnValue-RequestForP_WSFILE.
CallFunction'KD_GET_FILENAME_ON_F4'
Exporting
Mask='*.TXT'
Static='X'
Changing
File_Name=P_WSFILE.

*------START-OF-SELECTIN------
START-
OF-SELECTION.
PERFORMFRM_GET_DATA.
PERFORMFRM_ALV_VAR_FIELDCAT."VARINATFIELDCAT
PERFORMFRM_VARIANT.
PERFORMFRM_ALV_LAYOUT.
PERFORMFRM_ALV_FIELDCAT.
IFP_ALV='X'.
*PERFORMFRM_GET_DATA.
*PERFORMFRM_ALV_VAR_FIELDCAT."VARINATFIELDCAT
PERFORMFRM_ALV_SHOW.
ELSEIFRB_WSDL='X'.
G_FILENAME=P_WSFILE.
PERFORMFORMATTING_FILE.
PERFORMWS_DOWNLOAD.
ELSEIFRB_OPEN='X'.
DATA:L_SUBRCLIKESY-SUBRC.
PERFORMEXPORT_FILE_TO_SERVERCHANGINGL_SUBRC.
IFL_SUBRCNE0.
MESSAGEE999(b1)WITH'Errorinexportingfile'.
ENDIF.

ENDIF.

*&---------------------------------------------------------------------*
*&FormFRM_ALV_LAYOUT
*&---------------------------------------------------------------------*
*text
*----------------------------------------------------------------------*
*-->p1text
*<--p2text
*----------------------------------------------------------------------*
FORMFRM_ALV_LAYOUT.
S_LAYOUT-ZEBRA=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值