DATA_ARCHIEVE

*&---------------------------------------------------------------------*
*& program: ZSD_VBAK *
*& to read archive data for sd documents *
*& - va25 *
*& - va05 *
*&---------------------------------------------------------------------*
*& programer: gallen.cong *
*& 2007/06/12 *
*& *
*&---------------------------------------------------------------------*
REPORT ZSD_VBAK NO STANDARD PAGE HEADING MESSAGE-ID SY LINE-SIZE 171.

TABLES: VBAK,VBAP.
TYPE-POOLS: RSDS,SLIS.

*BEGIN OF ADD BY J.SHEN 2008/5/16PM

DEFINE ADD_FIELD.
WA_FIELD-COL_POS = &1.
WA_FIELD-FIELDNAME = &2.
WA_FIELD-REPTEXT_DDIC = &3.
APPEND WA_FIELD TO IT_FIELD.
END-OF-DEFINITION.

DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: IT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: G_REPID TYPE SY-REPID.

DATA: WA_FIELD TYPE SLIS_FIELDCAT_ALV.
DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
DATA: IT_EVENTS TYPE SLIS_T_EVENT.
DATA: WA_EVENTS LIKE LINE OF IT_EVENTS.
DATA: IT_LIST_COMMENTS TYPE SLIS_T_LISTHEADER.
DATA: WA_LIST_COMMENTS LIKE LINE OF IT_LIST_COMMENTS.

*END OF ADD BY J.SHEN 2008/5/16PM


DATA: T_ARPTR TYPE TABLE OF AIND_ARKEY.
*DATA: TEMP_TDLINE LIKE TLINE-TDLINE.

DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LT_VBAP LIKE VBAP OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF LT_VBAK OCCURS 0,
ARCHIVEKEY TYPE ARKEY,
ARCHIVEOFS TYPE ADMI_OFFST,
SEL TYPE C,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
VKORG LIKE VBAK-VKORG,
VTWEG LIKE VBAK-VTWEG,
VKBUR LIKE VBAK-VKBUR,
VKGRP LIKE VBAK-VKGRP,
AUART LIKE VBAK-AUART,
PSTYV LIKE VBAP-PSTYV,
VBTYP LIKE VBAK-VBTYP,
TRVOG LIKE VBAK-TRVOG,
AUDAT LIKE VBAK-AUDAT,
ERDAT LIKE VBAK-ERDAT,
KUNNR LIKE VBAK-KUNNR,
LAND1 LIKE VBPA-LAND1,
BZIRK LIKE VBKD-BZIRK,
BSTNK LIKE VBAK-BSTNK,
MATNR LIKE VBAP-MATNR,
ARKTX LIKE VBAP-ARKTX,
SPART LIKE VBAP-SPART,
MATKL LIKE VBAP-MATKL,
MVGR1 LIKE VBAP-MVGR1,
MVGR2 LIKE VBAP-MVGR2,
PRODH LIKE VBAP-PRODH,
KWMENG LIKE VBAP-KWMENG,
VRKME LIKE VBAP-VRKME,
MEINS LIKE VBAP-MEINS,
NETWR LIKE VBAP-NETWR,
MWSBP LIKE VBAP-MWSBP,
WAERK LIKE VBAP-WAERK,
ERNAM LIKE VBAK-ERNAM,
AUGRU LIKE VBAK-AUGRU,
ABRVW LIKE VBAK-ABRVW,
GBSTA LIKE VBUP-GBSTA,
LFSTA LIKE VBUP-LFSTA,
ERZET LIKE VBAP-ERZET,
END OF LT_VBAK.

DATA:TEM_TLINE LIKE TLINE OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
S_VBELN FOR VBAP-VBELN,
S_POSNR FOR VBAP-POSNR,
S_VKORG FOR VBAK-VKORG,
S_VTWEG FOR VBAK-VTWEG,
S_VKBUR FOR VBAK-VKBUR,
S_VKGRP FOR VBAK-VKGRP,
S_AUART FOR VBAK-AUART,
S_VBTYP FOR VBAK-VBTYP,
*STARTING ADD BY G.WEI 2009/05/19
S_KUNNR FOR VBAK-KUNNR,
S_MATNR FOR VBAP-MATNR,
S_BSTNK FOR VBAK-BSTNK,
S_AUDAT FOR VBAK-AUDAT,
S_SPART FOR VBAK-SPART,
S_ERNAM FOR VBAK-ERNAM.
*ENDING ADD BY G.WEI 2009/05/19
SELECTION-SCREEN END OF BLOCK BLK1.

*STARTING DELETE BY J.SHEN 2008/5/16PM
*AT LINE-SELECTION.
*PERFORM STXL_GET_TXT.
*ENDING DELETE BY J.SHEN 2008/5/16PM
START-OF-SELECTION.

*从归档文件中查询会计凭证
PERFORM GETDATA_FROM_AS_VBAK TABLES S_VBELN S_POSNR
S_VKORG S_VTWEG
S_VKBUR S_AUART
S_VBTYP
*STARTING ADD BY G.WEI 2009/05/19
S_KUNNR S_MATNR
S_BSTNK S_AUDAT
S_SPART S_ERNAM
*ENDING ADD BY G.WEI 2009/05/19
T_ARPTR LT_VBAK
USING 'Z_SD_VBAK_003'.


*START OF ADD BY J.SHEN 2008/5/16PM
PERFORM EVENT_BUILD.
PERFORM LAYOUT_BUILD.
PERFORM FIELDS.


END-OF-SELECTION.
*END OF ADD BY J.SHEN 2008/5/16PM
*显示
* PERFORM alv.
IF LT_VBAK[] IS NOT INITIAL.

*BEGIN OF DELETE BY J.SHEN 2008/5/16PM
* PERFORM DISPLAY.
*END OF DELETE BY J.SHEN 2008/5/16PM

*BEGIN OF ADD BY J.SHEN 2008/5/16PM

PERFORM FRM_DISPLAY_ALV.

*END OF ADD BY J.SHEN 2008/5/16PM
ELSE.
MESSAGE '归档数据不存在!' TYPE 'I'.
EXIT.
ENDIF.
*&---------------------------------------------------------------------*
*& Form GETDATA_FROM_AS_VBAK
*&---------------------------------------------------------------------*
FORM GETDATA_FROM_AS_VBAK TABLES P_S_VBELN STRUCTURE S_VBELN
P_S_POSNR STRUCTURE S_POSNR
P_S_VKORG STRUCTURE S_VKORG
P_S_VTWEG STRUCTURE S_VTWEG
P_S_VKBUR STRUCTURE S_VKBUR
P_S_AUART STRUCTURE S_AUART
P_S_VBTYP STRUCTURE S_VBTYP
*STARTING ADD BY G.WEI 2009/05/19
P_S_KUNNR STRUCTURE S_KUNNR
P_S_MATNR STRUCTURE S_MATNR
P_S_BSTNK STRUCTURE S_BSTNK
P_S_AUDAT STRUCTURE S_AUDAT
P_S_SPART STRUCTURE S_SPART
P_S_ERNAM STRUCTURE S_ERNAM
*ENDING ADD BY G.WEI 2009/05/19
T_ARCHPTR STRUCTURE AIND_ARKEY
TEMP_VBAK STRUCTURE LT_VBAK
USING VALUE(V_FIELDCAT) LIKE AIND_STR1-ARCHINDEX.
DATA: LT_FRANGE TYPE RSDS_FRANGE_T,
L_FRANGE TYPE RSDS_FRANGE,
L_RSDSSELOPT LIKE RSDSSELOPT,
LT_ARCHPTR TYPE TABLE OF AIND_ARKEY,
L_PROCESSED TYPE I.

DATA: TMP_VBAK LIKE LT_VBAK OCCURS 0 WITH HEADER LINE.


DATA: L_SUBRC TYPE SY-SUBRC,
L_FIRST TYPE C LENGTH 1.

FIELD-SYMBOLS: <L_ARCHPTR> TYPE AIND_ARKEY.

L_FRANGE-FIELDNAME = 'VBELN'.
LOOP AT P_S_VBELN.
MOVE-CORRESPONDING P_S_VBELN TO L_RSDSSELOPT.
APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
ENDLOOP.
APPEND L_FRANGE TO LT_FRANGE.

CLEAR L_FRANGE.
L_FRANGE-FIELDNAME = 'POSNR'.
LOOP AT P_S_POSNR.
MOVE-CORRESPONDING P_S_POSNR TO L_RSDSSELOPT.
APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
ENDLOOP.
APPEND L_FRANGE TO LT_FRANGE.

CLEAR L_FRANGE.
L_FRANGE-FIELDNAME = 'VKORG'.
LOOP AT P_S_VKORG.
MOVE-CORRESPONDING P_S_VKORG TO L_RSDSSELOPT.
APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
ENDLOOP.
APPEND L_FRANGE TO LT_FRANGE.

* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'VTWEG'.
* LOOP AT P_S_VTWEG.
* MOVE-CORRESPONDING P_S_VTWEG TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'VKBUR'.
* LOOP AT P_S_VKBUR.
* MOVE-CORRESPONDING P_S_VKBUR TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'AUART'.
* LOOP AT P_S_AUART.
* MOVE-CORRESPONDING P_S_AUART TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'VBTYP'.
* LOOP AT P_S_VBTYP.
* MOVE-CORRESPONDING P_S_VBTYP TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'KUNNR'.
* LOOP AT P_S_KUNNR.
* MOVE-CORRESPONDING P_S_KUNNR TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'MATNR'.
* LOOP AT P_S_MATNR.
* MOVE-CORRESPONDING P_S_MATNR TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'BSTNK'.
* LOOP AT P_S_BSTNK.
* MOVE-CORRESPONDING P_S_BSTNK TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'AUDAT'.
* LOOP AT P_S_AUDAT.
* MOVE-CORRESPONDING P_S_AUDAT TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'SPART'.
* LOOP AT P_S_SPART.
* MOVE-CORRESPONDING P_S_SPART TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.
*
* CLEAR L_FRANGE.
* L_FRANGE-FIELDNAME = 'ERNAM'.
* LOOP AT P_S_ERNAM.
* MOVE-CORRESPONDING P_S_ERNAM TO L_RSDSSELOPT.
* APPEND L_RSDSSELOPT TO L_FRANGE-SELOPT_T.
* ENDLOOP.
* APPEND L_FRANGE TO LT_FRANGE.


CALL FUNCTION 'AS_API_READ'
EXPORTING
I_FIELDCAT = V_FIELDCAT
I_SELECTIONS = LT_FRANGE
IMPORTING
E_RESULT = TEMP_VBAK[]
EXCEPTIONS
NO_INFOSTRUC_FOUND = 0.
ENDFORM. " GETDATA_FROM_AS
*&--------------------------------------------------------------------*
*& Form FIELD_CATALOG
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->COL_HEAD text
* -->TABLE text
* -->FIELD text
* -->OUTPUTLEN text
* -->DO_SUM text
* -->NO_OUT text
* -->JUST text
*---------------------------------------------------------------------*
FORM FIELD_CATALOG USING COL_HEAD
TABLE
FIELD
OUTPUTLEN
DO_SUM
NO_OUT
JUST."#EC CALLED

DATA: TMP_FC TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.

TMP_FC-REPTEXT_DDIC = COL_HEAD.
TMP_FC-FIELDNAME = FIELD.
TMP_FC-TABNAME = TABLE.
TMP_FC-OUTPUTLEN = OUTPUTLEN.
TMP_FC-JUST = JUST.
TMP_FC-DO_SUM = DO_SUM.
TMP_FC-NO_OUT = NO_OUT.
APPEND TMP_FC TO FIELDCAT.
ENDFORM. " GETDATA_FROM_AS_VBAK
*&---------------------------------------------------------------------*
*& Form stxl_get_txt
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM STXL_GET_TXT .
DATA: L_HANDLE TYPE SY-TABIX.
DATA: TLINE1 LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: TMP_SELECTIONS LIKE THEAD OCCURS 0 WITH HEADER LINE.
DATA:TMP_KEY(8) TYPE C.

CALL FUNCTION 'ARCHIVE_READ_OBJECT'
EXPORTING
OBJECT = 'SD_VBAK'
ARCHIVKEY = LT_VBAK-ARCHIVEKEY
OFFSET = LT_VBAK-ARCHIVEOFS
IMPORTING
ARCHIVE_HANDLE = L_HANDLE
EXCEPTIONS
OTHERS = 42.
IF NOT SY-SUBRC IS INITIAL.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'SELECT_TEXT'
EXPORTING
ARCHIVE_HANDLE = L_HANDLE
TABLES
SELECTIONS = TMP_SELECTIONS
EXCEPTIONS
WRONG_ACCESS_TO_ARCHIVE = 1
OTHERS = 2.

IF NOT SY-SUBRC IS INITIAL.
MESSAGE '归档文件读取失败!' TYPE 'I'.
EXIT.
ENDIF.
IF TMP_SELECTIONS[] IS INITIAL.
MESSAGE '没有文本可以读取!' TYPE 'I'.
EXIT.
ENDIF.

DATA:TMP_TDNAME LIKE THEAD-TDNAME.
LOOP AT TMP_SELECTIONS.
CONCATENATE LT_VBAK-VBELN LT_VBAK-POSNR INTO TMP_TDNAME.
IF TMP_SELECTIONS-TDNAME = LT_VBAK-VBELN OR TMP_SELECTIONS-TDNAME = TMP_TDNAME.
CONTINUE.
ELSE.
DELETE TMP_SELECTIONS.
ENDIF.
ENDLOOP.

CLEAR:TEM_TLINE,
TEM_TLINE[].
SORT TMP_SELECTIONS BY TDOBJECT TDID.
LOOP AT TMP_SELECTIONS.
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = TMP_SELECTIONS-TDID
LANGUAGE = TMP_SELECTIONS-TDSPRAS
NAME = TMP_SELECTIONS-TDNAME
OBJECT = TMP_SELECTIONS-TDOBJECT
ARCHIVE_HANDLE = L_HANDLE
TABLES
LINES = TLINE1.
IF TLINE1 IS NOT INITIAL.
CONCATENATE TMP_SELECTIONS-TDOBJECT TMP_SELECTIONS-TDID INTO TMP_KEY.
CASE TMP_KEY .
WHEN 'VBBK0001'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '表抬头' .
APPEND TEM_TLINE.
WHEN 'VBBK0002'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '表头注释 1' .
APPEND TEM_TLINE.
WHEN 'VBBK0003'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '表头注释 2' .
APPEND TEM_TLINE.
WHEN 'VBBK0010'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '格式补充说明' .
APPEND TEM_TLINE.
WHEN 'VBBK0001'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '表抬头' .
APPEND TEM_TLINE.
WHEN 'VBBP0001'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '物料销售文字' .
APPEND TEM_TLINE.
WHEN 'VBBP0003'.
TEM_TLINE-TDFORMAT = 'A' .
TEM_TLINE-TDLINE = '打包注释' .
APPEND TEM_TLINE.
ENDCASE.
APPEND LINES OF TLINE1 TO TEM_TLINE.
ENDIF.
ENDLOOP.

CALL FUNCTION 'ARCHIVE_CLOSE_FILE'
EXPORTING
ARCHIVE_HANDLE = L_HANDLE.

IF TEM_TLINE[] IS INITIAL.
MESSAGE '长文本不存在!' TYPE 'S'.
EXIT.
ENDIF.

*数据处理
LOOP AT TEM_TLINE.

IF TEM_TLINE-TDFORMAT = 'A' .
WRITE AT /1(90) SY-ULINE.
WRITE: / SY-VLINE, 2(89) TEM_TLINE-TDLINE COLOR 1,90 SY-VLINE .
WRITE AT /1(90) SY-ULINE.
ELSE.
WRITE: / SY-VLINE, 5(85) TEM_TLINE-TDLINE,90 SY-VLINE.
ENDIF.
* WRITE:/ SY-VLINE, 5(85) '浙江正泰电器股份有限公司' CENTERED,90
* SY-VLINE.
* WRITE:/ TEM_TLINE-TDLINE.
ENDLOOP.
WRITE AT /1(90) SY-ULINE.
ENDFORM. " stxl_get_txt
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY .

FORMAT COLOR COL_HEADING.
WRITE AT /1(171) SY-ULINE.
WRITE:/ SY-VLINE, 2 TEXT-002,9 SY-VLINE,
10(10) TEXT-003,21 SY-VLINE,
22(18) TEXT-004,41 SY-VLINE,
42(8) TEXT-005,51 SY-VLINE,
52(4) TEXT-006,61 SY-VLINE,
62(10) TEXT-014,73 SY-VLINE,
74(15) TEXT-016,90 SY-VLINE,
91(15) TEXT-015,107 SY-VLINE,
108(8) TEXT-007,117 SY-VLINE,
118(2) TEXT-008,121 SY-VLINE,
122(4) TEXT-009,127 SY-VLINE,
128(1) TEXT-010,130 SY-VLINE,
131(10) TEXT-011,142 SY-VLINE,
143(10) TEXT-012,154 SY-VLINE,
155(15) TEXT-018,171 SY-VLINE.
WRITE AT /1(171) SY-ULINE.

LOOP AT LT_VBAK.
FORMAT COLOR COL_NORMAL.
WRITE: / SY-VLINE,2 LT_VBAK-POSNR,9 SY-VLINE,
10(10) LT_VBAK-VBELN,21 SY-VLINE,
22(18) LT_VBAK-MATNR,41 SY-VLINE,
42(8) LT_VBAK-VKORG,51 SY-VLINE,
52(4) LT_VBAK-VKBUR,61 SY-VLINE,
62(10) LT_VBAK-KUNNR,73 SY-VLINE,
74(15) LT_VBAK-KWMENG,90 SY-VLINE,
91(15) LT_VBAK-NETWR,107 SY-VLINE,
108(8) LT_VBAK-ERNAM,117 SY-VLINE,
118(2) LT_VBAK-VTWEG,121 SY-VLINE,
122(4) LT_VBAK-AUART,127 SY-VLINE,
128(1) LT_VBAK-VBTYP,130 SY-VLINE,
131(10) LT_VBAK-AUDAT,142 SY-VLINE,
143(10) LT_VBAK-ERDAT,154 SY-VLINE,
155(15) LT_VBAK-MWSBP,171 SY-VLINE.

HIDE:LT_VBAK-VBELN,
LT_VBAK-POSNR,
LT_VBAK-ARCHIVEKEY,
LT_VBAK-ARCHIVEOFS.
ENDLOOP.
WRITE AT /1(171) SY-ULINE.
ENDFORM. " DISPLAY
*&---------------------------------------------------------------------*
*& Form FRM_DISPLAY_ALV
*&---------------------------------------------------------------------*
* Display ALV
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DISPLAY_ALV .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
IT_FIELDCAT = IT_FIELD
IS_LAYOUT = GS_LAYOUT
IT_EVENTS = IT_EVENTS
* IT_SORT = IT_SORT
I_SAVE = 'A'
TABLES
T_OUTTAB = LT_VBAK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " FRM_DISPLAY_ALV
*&---------------------------------------------------------------------*
*& Form LAYOUT_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM LAYOUT_BUILD .
G_REPID = SY-REPID.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-BOX_FIELDNAME = 'SEL'.
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-DETAIL_POPUP = 'X'.
GS_LAYOUT-NO_VLINE = ' '.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-DETAIL_INITIAL_LINES = 'X'.
GS_LAYOUT-DETAIL_TITLEBAR = '详细内容'.
**********************小计***************************
* LS_SORT-FIELDNAME = 'VBELN'.
* LS_SORT-SPOS = 1.
* LS_SORT-UP = 'X'.
* LS_SORT-SUBTOT = 'X'.
* APPEND LS_SORT TO IT_SORT.
ENDFORM. " LAYOUT_BUILD
*&---------------------------------------------------------------------*
*& Form FIELDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FIELDS .
* ADD_FIELD '1' 'POSNR' TEXT-002.
* ADD_FIELD '2' 'VBELN' TEXT-003.
* ADD_FIELD '3' 'MATNR' TEXT-004.
* ADD_FIELD '4' 'VKORG' TEXT-005.
* ADD_FIELD '5' 'VKBUR' TEXT-006.
* ADD_FIELD '6' 'KUNNR' TEXT-013.
* ADD_FIELD '7' 'KWMENG' TEXT-014.
* ADD_FIELD '8' 'NETWR' TEXT-016.
* ADD_FIELD '9' 'ERNAM' TEXT-015.
* ADD_FIELD '10' 'VTWEG' TEXT-007.
* ADD_FIELD '11' 'AUART' TEXT-008.
* ADD_FIELD '12' 'VBTYP' TEXT-010.
* ADD_FIELD '13' 'PSTYV' TEXT-009.
* ADD_FIELD '13' 'AUDAT' TEXT-011.
* ADD_FIELD '14' 'ERDAT' TEXT-012.
* ADD_FIELD '15' 'MWSBP' TEXT-018.
** BEGING OF ADD BY W.GAO 2008/05/19PM
* ADD_FIELD '16' 'ARKTX' TEXT-019.
* ADD_FIELD '17' 'GBSTA' TEXT-020.
* ADD_FIELD '18' 'LFSTA' TEXT-021.
** END OF ADD BY W.GAO 2008/05/19PM
*BEGIN OF MODIFY BY W.GAO 2008/05/19PM
ADD_FIELD '1' 'AUDAT' TEXT-011.
ADD_FIELD '2' 'AUART' TEXT-008.
ADD_FIELD '3' 'VBELN' TEXT-003.
ADD_FIELD '4' 'POSNR' TEXT-002.
ADD_FIELD '5' 'KUNNR' TEXT-013.
ADD_FIELD '6' 'ARKTX' TEXT-019.
ADD_FIELD '7' 'MATNR' TEXT-004.
ADD_FIELD '8' 'KWMENG' TEXT-014.
ADD_FIELD '9' 'NETWR' TEXT-016.
ADD_FIELD '10' 'GBSTA' TEXT-020.
ADD_FIELD '11' 'LFSTA' TEXT-021.
ADD_FIELD '12' 'ERNAM' TEXT-015.
ADD_FIELD '13' 'VKBUR' TEXT-006.
ADD_FIELD '14' 'ERZET' TEXT-022.

* ADD_FIELD '14' 'VTWEG' TEXT-007.
* ADD_FIELD '15' 'VKORG' TEXT-005.
* ADD_FIELD '16' 'VBTYP' TEXT-010.
* ADD_FIELD '17' 'PSTYV' TEXT-009.
* ADD_FIELD '18' 'ERDAT' TEXT-012.
* ADD_FIELD '19' 'MWSBP' TEXT-018.
*END OF MODIFY BY W.GAO 2008/05/19
ENDFORM. " FIELDS
*&---------------------------------------------------------------------*
*& Form EVENT_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EVENT_BUILD .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS.


READ TABLE IT_EVENTS
WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO WA_EVENTS.
IF SY-SUBRC = 0.
MOVE 'ALV_TOP_OF_PAGE' TO WA_EVENTS-FORM.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.


ENDFORM. " EVENT_BUILD


*BEGIN OF ADD BY J.SHEN 2008/5/16PM
*&---------------------------------------------------------------------*
*& Form ALV_TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_TOP_OF_PAGE .

CLEAR IT_LIST_COMMENTS.

WA_LIST_COMMENTS-TYP = 'H'.
WA_LIST_COMMENTS-KEY = ''.
WA_LIST_COMMENTS-INFO = '销售订单清单'.
APPEND WA_LIST_COMMENTS TO IT_LIST_COMMENTS.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LIST_COMMENTS
I_LOGO = 'PUDGE'
.

ENDFORM. " ALV_TOP_OF_PAGE


*END OF ADD BY J.SHEN 2008/5/16PM

http://www.thespot4sap.com/SAP_Data_Archiving.pdf

你可能感兴趣的:(J#,Access,UP)