程序说明: 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_FIELDCATTYPESLIS_FIELDCAT_ALV.
*->EVENT
DATA:IT_EVENTTYPESLIS_T_EVENT,
S_EVENTTYPESLIS_ALV_EVENT.
*->TOPOFPAGETITLEINFORMATION
DATA:IT_LIST_TOP_OF_PAGETYPESLIS_T_LISTHEADER.
*->VARINAT
DATA:G_EXIT(1)TYPEC,
G_SAVE(1)TYPECVALUE'A',
GX_VARIANTLIKEDISVARIANT,
G_VARIANTLIKEDISVARIANT.
*------FORDISPLAYVARIANTUSAGE------
DATA:BEGINOFGT_ALV_FCOCCURS100,
FLD_NAME(30)TYPEC,
COL_POSTYPEI,
ENDOFGT_ALV_FC.
DATA:G_REPIDLIKESY-REPID.
DATA:I_FCOLTYPESY-TITLEOCCURS0WITHHEADERLINE,"FIELDNAME
G_SVFILELIKERLGRAP-FILENAME,"ServerPahtFilename
G_FILENAMELIKERLGRAP-FILENAME."physicalfilenameforOPENDS
*------DEFINEINNERTABLE------
TYPES:BEGINOFTP_TAB,
EBELNLIKEEKKO-EBELN,
BUKRSLIKEEKKO-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=