码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP ALV 示例:ALV单元格颜色,ALV行颜色,ALV双击事件,数据合计,ALV表头,ALV GUI STATUS

时间:2015-12-03 13:33:00      阅读:997      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

  1 *& Program Name: ZMFIX_ASSET                        
  2 *&                        
  3 *& Description: 资产信息一览                        
  4 *& Date/Author: 
  5                     
  6 *& Table Update:                        
  7 *& Special Logic:                        
  8 *& Include:                        
  9 *----------------------------------------------------------------------*                        
 10 * MODIFICATION LOG : 程序修改更新记录                        
 11 *----------------------------------------------------------------------*                        
 12 * ChangeDate Programmer    Request      Description                        
 13 * ========== ============= ============ ================================                        
 14 *                                                          NEW PROGRAM                            
 15 *----------------------------------------------------------------------*                        
 16                         
 17 REPORT  ZMFIX_ASSET NO STANDARD PAGE HEADING.                        
 18                         
 19 *----------------------------------------------------------------------*                        
 20 * TABLES                                                               *                        
 21 *----------------------------------------------------------------------*                        
 22                         
 23 TABLES :                        
 24         ANLA,                              "资产主记录段                        
 25         ANLH,                              "主资产号                        
 26         ANKT,                              "资产类别描述                        
 27         T087S,                             "评估组8测试表位置                        
 28         ANLZ,                              "时间相关资产分配                        
 29         ANLC,                              "资产值字段                        
 30         ANLB,                              "折旧期限                        
 31         ANLP,                              "资产期间价值                        
 32         FIAA_DPOST,                        "已记帐价值的显示结构                        
 33         BSID,                              "会计核算:客户的第二次索引                        
 34         ANEP,                              "资产行项目                        
 35         CSKS.                              "成本中心主数据                        
 36                         
 37 *----------------------------------------------------------------------*                        
 38 * DATA                                                                 *                        
 39 *----------------------------------------------------------------------*                        
 40                         
 41 TYPES : BEGIN OF TY_ASSET ,                        
 42            GJAHR LIKE ANLP-GJAHR,"会计年度                        
 43            BUKRS LIKE ANLA-BUKRS,"公司代码                        
 44            ANLN1 LIKE ANLA-ANLN1,"主资产号                        
 45            TXT50 LIKE ANLA-TXT50,"资产描述                        
 46            TXA50 LIKE ANLA-TXA50,"附加资产描述                        
 47            ANLN2 LIKE ANLA-ANLN2,"次资产号                        
 48            ANLHTXT LIKE ANLH-ANLHTXT,"主资产号描述                        
 49            KFZKZ LIKE ANLZ-KFZKZ,"执照牌号                        
 50            MCOAL LIKE M_AANLA-MCOA1,"次资产号描述                        
 51            ANLKL LIKE ANLA-ANLKL,"资产种类                        
 52            TXK20 LIKE ANKT-TXK20,"资产种类描述                        
 53            GDLGRP LIKE ANLA-GDLGRP,"资产小类                        
 54            GDLGRP_TXT LIKE T087S-GDLGRP_TXT,"资产小类描述                        
 55            NAFAG LIKE ANLC-NAFAG,"记帐在当前年的正常折旧                        
 56            KNAFA LIKE ANLC-KNAFA,"累计正常折旧                        
 57            KOSTL LIKE ANLZ-KOSTL,"成本中心                        
 58            SERNR LIKE ANLA-SERNR,"实际卡片编号                        
 59            AIBN1 LIKE ANLA-AIBN1,"来源资产编号                        
 60            ORD41 LIKE ANLA-ORD41,"资产小类                        
 61            LIFNR LIKE ANLA-LIFNR,"供应商科目编号(其他关键字)                        
 62            LIEFE LIKE ANLA-LIEFE,"资产提供者名                        
 63            ORDTX1 LIKE T087T-ORDTX,"资产小类名称                        
 64            ORD42 LIKE ANLA-ORD42, "评审小组2                        
 65            ORDTX2 LIKE T087T-ORDTX,"评审小组:短描述                        
 66            KTEXT LIKE CSKT-KTEXT,"成本中心描述                        
 67            AFASL LIKE ANLB-AFASL,"折旧码                        
 68            YZ LIKE ANLC-KANSW,"累积购置和生产费用                        
 69            KANSW LIKE ANLC-KANSW,"累积购置和生产费用                        
 70            KAUFW LIKE ANLC-KAUFW,"重置价值的累计重估                        
 71            ANBTR LIKE ANEP-ANBTR,"记帐金额                        
 72            AKTIV LIKE ANLA-AKTIV,"资产资本化日期                        
 73            DEAKT LIKE ANLA-DEAKT,"不激活的日期                        
 74            NDJAR LIKE ANLB-NDJAR,"计划年使用期                        
 75            NDPER LIKE ANLB-NDPER,"计划使用期间                        
 76            YJCZ LIKE ANLC-KANSW,"累积购置和生产费用                        
 77            NAFAZ TYPE ANLP-NAFAZ,"记帐的正常折旧                        
 78            AAFAZ LIKE ANLP-AAFAZ,"待过帐的计划外折旧                        
 79            LJPTZJ LIKE ANLP-NAFAZ,"记帐的正常折旧                        
 80            NAFAV LIKE ANLC-NAFAV,"比例累积正常折旧                        
 81            NAFAL LIKE ANLC-NAFAL,"此年的比例正常折旧                        
 82            PERAF LIKE ANLP-PERAF,"折旧计算期                        
 83            AAFAP LIKE ANLP-AAFAP,"年内已预定的未计划折旧                        
 84            JZ LIKE ANLP-AAFAP,"净值 = 原值-累计普通折旧-累计计划外折旧                        
 85            AFBNR LIKE ANLP-AFBNR,"此期间折旧记帐运行的顺序号                        
 86            GSBER LIKE ANLZ-GSBER,"业务范围                        
 87            GTEXT LIKE TGSBT-GTEXT,"业务部门描述                        
 88            PRCTR LIKE CSKS-PRCTR,"利润中心                        
 89            PKTEXT LIKE CEPCT-KTEXT,"                        
 90            CSHZJ LIKE ANLP-AAFAP,"年内已预定的未计划折旧                        
 91            AUFWB LIKE ANLC-AUFWB,"重置价值的重估记帐                        
 92            AUFNG LIKE ANLC-AUFNG,"有关累积正常折旧的记帐评估                        
 93            AFABG LIKE ANLB-AFABG,"折旧计算开始日期                        
 94            XFABG LIKE KOMP-ANZ_MONATE,"月数                        
 95            XFABG1 TYPE I,"                        
 96            COLOR TYPE CHAR4,   "行颜色                        
 97            CELLCOLOR TYPE LVC_T_SCOL, "单元格颜色                        
 98         END OF TY_ASSET.                        
 99                         
100 DATA : IT_ASSET  TYPE STANDARD TABLE OF TY_ASSET,                        
101        IW_ASSET  TYPE TY_ASSET,                        
102                         
103        IT_ASSET1 TYPE STANDARD TABLE OF TY_ASSET,                        
104        IW_ASSET1 TYPE TY_ASSET.                        
105 DATA : IW_CELLCOLOR TYPE LVC_S_SCOL.                        
106 DATA : P_AFBNR LIKE ANLP-AFBNR.                        
107                         
108 *----------------------------------------------------------------------*                        
109 * TYPE-POOLS                                                           *                        
110 *----------------------------------------------------------------------*                        
111 TYPE-POOLS : SLIS.                        
112 DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,                        
113                         
114        IT_EVENT TYPE SLIS_T_EVENT, "不能有表头,否则会RUNTIME ERROR                        
115        IW_LAYOUT TYPE SLIS_LAYOUT_ALV,                        
116        IT_LISTHEADER TYPE SLIS_T_LISTHEADER.                        
117                         
118 DATA : P_NUM TYPE VBRK-NETWR,                        
119        XL_SUM TYPE I,                        
120        FLAG TYPE CHAR01.                        
121                         
122                         
123 RANGES : S_HKONT FOR BSEG-HKONT.                        
124                         
125 *----------------------------------------------------------------------*                        
126 * SCREEN                                                               *                        
127 *----------------------------------------------------------------------*                        
128                         
129 SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.                        
130   PARAMETERS: P_BUKRS LIKE ANLA-BUKRS OBLIGATORY DEFAULT 1000,                        
131               P_GJAHR LIKE ANLC-GJAHR OBLIGATORY,"DEFAULT SY-DATUM+0(4),                        
132               P_PERAF LIKE ANLP-PERAF OBLIGATORY."DEFAULT SY-DATUM+4(2).                        
133                         
134   SELECT-OPTIONS : S_GSBER FOR ANLZ-GSBER,                        
135                    S_PRCTR FOR CSKS-PRCTR OBLIGATORY  ,                        
136                    S_ANLN1 FOR ANLA-ANLN1,                        
137                    S_ANLKL FOR ANLA-ANLKL,                        
138                    S_KOSTL FOR ANLZ-KOSTL,                        
139                    S_ORD41 FOR ANLA-ORD41.                        
140 SELECTION-SCREEN SKIP 1.                        
141                         
142 SELECTION-SCREEN END OF BLOCK B1.                        
143                         
144 *----------------------------------------------------------------------*                        
145 *                                                                      *                        
146 *----------------------------------------------------------------------*                        
147                         
148                         
149 INITIALIZATION.                        
150                         
151                         
152 START-OF-SELECTION.                        
153                         
154   PERFORM FRM_GET_EVENTS.                        
155   PERFORM FRM_GET_DATA.                        
156   PERFORM FRM_COMMENT_BUILD.                        
157   PERFORM FRM_FDCAT.                        
158   PERFORM FRM_LAYOUT.                        
159   PERFORM FRM_ALV_DISPLAY.                        
160                         
161 END-OF-SELECTION.                        
162                         
163                         
164                         
165 *&---------------------------------------------------------------------*                        
166 *&      Form  FRM_GET_EVENTS                        
167 *&---------------------------------------------------------------------*                        
168 *       text                        
169 *----------------------------------------------------------------------*                        
170 *  -->  p1        text                        
171 *  <--  p2        text                        
172 *----------------------------------------------------------------------*                        
173 FORM FRM_GET_EVENTS .                        
174                         
175 * EVENTS                        
176 *SLIS_EV_ITEM_DATA_EXPAND  TYPE SLIS_FORMNAME VALUE ‘ITEM_DATA_EXPAND‘,                        
177 *SLIS_EV_REPREP_SEL_MODIFY TYPE SLIS_FORMNAME VALUE ‘REPREP_SEL_MODIFY‘,                        
178 *SLIS_EV_CALLER_EXIT_AT_START TYPE SLIS_FORMNAME VALUE ‘CALLER_EXIT‘,                        
179 *SLIS_EV_USER_COMMAND       TYPE SLIS_FORMNAME VALUE ‘USER_COMMAND‘,                        
180 *SLIS_EV_TOP_OF_PAGE        TYPE SLIS_FORMNAME VALUE ‘TOP_OF_PAGE‘,                        
181 *SLIS_EV_DATA_CHANGED       TYPE SLIS_FORMNAME VALUE ‘DATA_CHANGED‘,                        
182 *SLIS_EV_TOP_OF_COVERPAGE  TYPE SLIS_FORMNAME VALUE ‘TOP_OF_COVERPAGE‘,                        
183 *SLIS_EV_END_OF_COVERPAGE  TYPE SLIS_FORMNAME VALUE ‘END_OF_COVERPAGE‘,                        
184 *SLIS_EV_FOREIGN_TOP_OF_PAGE TYPE SLIS_FORMNAME                        
185 *                                       VALUE ‘FOREIGN_TOP_OF_PAGE‘,                        
186 *SLIS_EV_FOREIGN_END_OF_PAGE TYPE SLIS_FORMNAME                        
187 *                                       VALUE ‘FOREIGN_END_OF_PAGE‘,                        
188 *SLIS_EV_PF_STATUS_SET      TYPE SLIS_FORMNAME VALUE ‘PF_STATUS_SET‘,                        
189 *SLIS_EV_LIST_MODIFY        TYPE SLIS_FORMNAME VALUE ‘LIST_MODIFY‘,                        
190 *SLIS_EV_TOP_OF_LIST        TYPE SLIS_FORMNAME VALUE ‘TOP_OF_LIST‘,                        
191 *SLIS_EV_END_OF_PAGE        TYPE SLIS_FORMNAME VALUE ‘END_OF_PAGE‘,                        
192 *SLIS_EV_END_OF_LIST        TYPE SLIS_FORMNAME VALUE ‘END_OF_LIST‘,                        
193 *SLIS_EV_AFTER_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE ‘AFTER_LINE_OUTPUT‘,                        
194 *SLIS_EV_BEFORE_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE                        
195 *                                                 ‘BEFORE_LINE_OUTPUT‘,                        
196 *SLIS_EV_SUBTOTAL_TEXT      TYPE SLIS_FORMNAME VALUE ‘SUBTOTAL_TEXT‘,                        
197 *SLIS_EV_GROUPLEVEL_CHANGE  TYPE SLIS_FORMNAME VALUE                        
198 *                                                  ‘GROUPLEVEL_CHANGE‘,                        
199 *SLIS_EV_CONTEXT_MENU       TYPE SLIS_FORMNAME VALUE ‘CONTEXT_MENU‘.                        
200                         
201   DATA: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE FRM_TOP_OF_PAGE.                        
202                         
203   DATA L_EVENTS TYPE SLIS_ALV_EVENT.                        
204                         
205   CALL FUNCTION REUSE_ALV_EVENTS_GET                        
206     EXPORTING                        
207       I_LIST_TYPE     = 0                        
208     IMPORTING                        
209       ET_EVENTS       = IT_EVENT                        
210     EXCEPTIONS                        
211       LIST_TYPE_WRONG = 1                        
212       OTHERS          = 2.                        
213   IF SY-SUBRC <> 0.                        
214     MESSAGE ID SY-MSGID TYPE SY-MSGTY                        
215         NUMBER SY-MSGNO                        
216           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.                        
217   ENDIF.                        
218 * 在事件(字段名:NAME)为"TOP_OF_PAGE"的行中                        
219 *将FORM名(字段名:FORM)设为"FRM_TOP_OF_PAGE"                        
220 * 这样,系统就会自动PERFORM FRM_TOP_OF_PAGE.                        
221   CLEAR L_EVENTS.                        
222   READ TABLE IT_EVENT                        
223         WITH KEY NAME = SLIS_EV_TOP_OF_PAGE                        
224         INTO L_EVENTS.                        
225                         
226   IF SY-SUBRC = 0.                        
227     MOVE FORMNAME_TOP_OF_PAGE TO L_EVENTS-FORM.                        
228     MODIFY IT_EVENT FROM L_EVENTS INDEX SY-TABIX.                        
229   ELSE.                        
230     L_EVENTS-FORM = FORMNAME_TOP_OF_PAGE.                        
231     L_EVENTS-NAME = FORMNAME_TOP_OF_PAGE.                        
232     APPEND L_EVENTS TO IT_EVENT.                        
233   ENDIF.                        
234                         
235 ENDFORM.                    " FRM_GET_EVENTS                        
236                         
237 *&---------------------------------------------------------------------*                        
238 *&      Form  FRM_TOP_OF_PAGE                        
239 *&---------------------------------------------------------------------*                        
240 *       表头                        
241 *----------------------------------------------------------------------*                        
242 *  -->  p1        text                        
243 *  <--  p2        text                        
244 *----------------------------------------------------------------------*                        
245 FORM  FRM_TOP_OF_PAGE.                        
246   CALL FUNCTION REUSE_ALV_COMMENTARY_WRITE                        
247     EXPORTING                        
248       IT_LIST_COMMENTARY       = IT_LISTHEADER                        
249       I_LOGO                   = ENJOYSAP_LOGO                        
250 *     I_END_OF_LIST_GRID       =                        
251 *     I_ALV_FORM               =                        
252       .                        
253 * "TCODE:OAOR,CLASS                        
254 * NAME:PICTURES,CLASS TYPE :OT,执行,可以看到所有的PICTURE                        
255                         
256 ENDFORM.                    "FRM_TOP_OF_PAGE                        
257                         
258                         
259 *&---------------------------------------------------------------------*                        
260 *&      Form  FRM_COMMENT_BUILD                        
261 *&---------------------------------------------------------------------*                        
262 *       text                        
263 *----------------------------------------------------------------------*                        
264 *  -->  p1        text                        
265 *  <--  p2        text                        
266 *----------------------------------------------------------------------*                        
267 FORM FRM_COMMENT_BUILD.                        
268                         
269   DATA LW_LISTHEADER TYPE SLIS_LISTHEADER.                        
270                         
271   CLEAR: IT_LISTHEADER, LW_LISTHEADER.                        
272                         
273   LW_LISTHEADER-TYP  = H.                        
274   LW_LISTHEADER-INFO = 资产信息一览.                        
275   APPEND LW_LISTHEADER TO IT_LISTHEADER.                        
276                         
277   CLEAR LW_LISTHEADER.                        
278   LW_LISTHEADER-TYP  = S.                        
279   LW_LISTHEADER-KEY  = 用户:.                        
280   LW_LISTHEADER-INFO = SY-UNAME.                        
281   APPEND LW_LISTHEADER TO IT_LISTHEADER.                        
282                         
283   CLEAR LW_LISTHEADER.                        
284   LW_LISTHEADER-TYP  = S.                        
285   LW_LISTHEADER-KEY  = 日期:.                        
286   LW_LISTHEADER-INFO = SY-DATUM.                        
287   APPEND LW_LISTHEADER TO IT_LISTHEADER.                        
288                         
289 ENDFORM.                    " FRM_COMMENT_BUILD                        
290                         
291 *&---------------------------------------------------------------------*                        
292 *&      Form  FRM_GET_DATA                        
293 *&---------------------------------------------------------------------*                        
294 *         text                        
295 *----------------------------------------------------------------------*                        
296 *    -->  p1        text                        
297 *    <--  p2        text                        
298 *----------------------------------------------------------------------*                        
299   FORM FRM_GET_DATA .                        
300     DATA : WRK_TABIX TYPE SY-TABIX.                        
301 *  查询固定资产                        
302     SELECT                        
303       ANLA~ANLN1                        
304       ANLA~TXT50                        
305       ANLA~TXA50                        
306       ANLH~ANLHTXT                        
307       ANLA~ANLKL                        
308       ANKT~TXK20                        
309       ANLA~ANLN2                        
310       ANLA~GDLGRP                        
311       T087S~GDLGRP_TXT                        
312       ANLZ~KOSTL                        
313       CSKT~KTEXT                        
314       ANLA~SERNR                        
315       ANLA~AIBN1                        
316       ANLA~ORD41                        
317       ANLA~LIFNR                        
318       T087T1~ORDTX AS ORDTX1                        
319       ANLB~NDPER                        
320       ANLC~KANSW                        
321       ANLC~KAUFW                        
322       ANLA~AKTIV                        
323       ANLA~DEAKT                        
324       ANLB~NDJAR                        
325       ANLB~AFABG                        
326       ANLB~AFASL                        
327       ANLC~ANLN1                        
328       ANLC~KNAFA                        
329       ANLP~PERAF                        
330       ANLC~GJAHR                        
331       ANLA~BUKRS                        
332       ANLZ~GSBER                        
333       TGSBT~GTEXT                        
334       ANLC~NAFAG                        
335       ANLC~KNAFA                        
336       ANLC~AUFWB                        
337       ANLC~AUFNG                        
338       ANLC~NAFAV                        
339       ANLC~NAFAL                        
340       ANLZ~KFZKZ                        
341       INTO CORRESPONDING FIELDS OF TABLE IT_ASSET                        
342       FROM ANLA                        
343      INNER JOIN ANLH                        
344         ON ANLH~BUKRS = ANLA~BUKRS AND                        
345            ANLH~ANLN1 = ANLA~ANLN1                        
346       LEFT JOIN T087S                        
347         ON T087S~GDLGRP = ANLA~GDLGRP AND                        
348            T087S~SPRAS = SY-LANGU                        
349       LEFT JOIN T087T AS T087T1                        
350         ON T087T1~ORDNR = 1 AND                        
351            T087T1~ORD4X = ANLA~ORD41 AND                        
352            T087T1~SPRAS = SY-LANGU                        
353       LEFT JOIN T087T AS T087T2                        
354         ON T087T2~ORDNR = 2 AND                        
355            T087T2~ORD4X = ANLA~ORD42 AND                        
356            T087T2~SPRAS = SY-LANGU                        
357      INNER JOIN ANLZ                        
358         ON ANLZ~BUKRS = ANLA~BUKRS AND                        
359            ANLZ~ANLN1 = ANLA~ANLN1 AND                        
360            ANLZ~ANLN2 = ANLA~ANLN2 AND                        
361            ANLZ~BDATU = 99991231                        
362      INNER JOIN ANKT                        
363         ON ANKT~SPRAS = SY-LANGU AND                        
364            ANKT~ANLKL = ANLA~ANLKL                        
365      INNER JOIN ANLC                        
366         ON ANLC~BUKRS = ANLA~BUKRS AND                        
367            ANLC~ANLN1 = ANLA~ANLN1 AND                        
368            ANLC~ANLN2 = ANLA~ANLN2 AND                        
369            ANLC~AFABE = 01                        
370      INNER JOIN ANLB                        
371         ON ANLB~BUKRS = ANLA~BUKRS AND                        
372            ANLB~ANLN1 = ANLA~ANLN1 AND                        
373            ANLB~ANLN2 = ANLA~ANLN2 AND                        
374            ANLB~AFABE = 01 AND                        
375            ANLB~BDATU = 99991231                        
376       LEFT JOIN ANLP                        
377         ON ANLP~BUKRS = ANLA~BUKRS AND                        
378            ANLP~PERAF = P_PERAF AND                        
379            ANLP~ANLN1 = ANLA~ANLN1 AND                        
380            ANLP~ANLN2 = ANLA~ANLN2 AND                        
381            ANLP~AFABER = 01                        
382       LEFT JOIN TGSBT                        
383         ON ANLZ~GSBER = TGSBT~GSBER                        
384       LEFT JOIN CSKT                        
385         ON ANLZ~KOSTL = CSKT~KOSTL AND                        
386            CSKT~SPRAS = EN  AND                        
387            CSKT~DATBI = 99991231 AND                        
388            CSKT~KOKRS = 1000                        
389      WHERE ANLA~BUKRS = P_BUKRS                        
390        AND ANLC~GJAHR = P_GJAHR                        
391        AND ANLA~ANLN1 IN S_ANLN1                        
392        AND ANLA~ANLKL IN S_ANLKL                        
393        AND ANLZ~KOSTL IN S_KOSTL                        
394        AND ANLA~ORD41 IN S_ORD41                        
395        AND ANLZ~GSBER IN S_GSBER.                        
396                         
397    SORT IT_ASSET BY GJAHR BUKRS ANLN1 ANLKL GDLGRP KOSTL.                        
398                         
399    DELETE ADJACENT DUPLICATES FROM IT_ASSET                        
400    COMPARING GJAHR BUKRS ANLN1 ANLKL GDLGRP KOSTL.                        
401                         
402    LOOP AT IT_ASSET INTO IW_ASSET.                        
403       WRK_TABIX = SY-TABIX.                        
404                         
405       "根据成本中心获取利润中心                        
406       SELECT SINGLE PRCTR                        
407         INTO IW_ASSET-PRCTR                        
408         FROM CSKS                        
409        WHERE KOSTL = IW_ASSET-KOSTL AND                        
410               KOKRS = 1000.                        
411                         
412        "删除非利润中心查询条件内的固定资产查询结果                        
413       IF IW_ASSET-PRCTR NOT IN S_PRCTR.                        
414         DELETE IT_ASSET INDEX WRK_TABIX.                        
415         CLEAR WRK_TABIX.                        
416         CONTINUE.                        
417       ENDIF.                        
418                         
419    "从供应商信息视图获取供应商名称                        
420       SELECT SINGLE MCOD1"匹配码搜索的搜索条件                        
421         INTO IW_ASSET-LIEFE                        
422         FROM M_KREDI"生成匹配码ID KRED-I的视图                        
423        WHERE LIFNR = IW_ASSET-LIFNR AND                        
424               BUKRS = P_BUKRS AND                        
425               LAND1 = DE.                        
426                         
427      "获取利润中心的名称                        
428       IF IW_ASSET-PRCTR IS NOT INITIAL.                        
429         SELECT SINGLE KTEXT                        
430           INTO IW_ASSET-PKTEXT                        
431           FROM CEPCT"利润中心主数据文本                        
432          WHERE PRCTR = IW_ASSET-PRCTR                        
433            AND SPRAS = EN"SY-LANGU‘                        
434            AND KOKRS = 1000.                        
435       ENDIF.                        
436                         
437      "获取当前期间的累计值                        
438       DATA : N       TYPE I,                        
439              NC      TYPE STRING,                        
440              F_ANBTR LIKE ANEP-ANBTR, "记账金额                        
441              F_BEGIN LIKE SY-DATUM,                        
442              F_END   LIKE SY-DATUM.                        
443                         
444       N  = P_PERAF.                        
445       NC = N.                        
446                         
447       IF N < 10.                        
448         CONCATENATE P_GJAHR 0 NC  01 INTO F_BEGIN.                        
449       ELSE.                        
450         CONCATENATE P_GJAHR NC 01 INTO F_BEGIN.                        
451       ENDIF.                        
452                         
453      "该函数获取某月的最后一天                        
454       CALL FUNCTION RP_LAST_DAY_OF_MONTHS                        
455         EXPORTING                        
456           DAY_IN            = F_BEGIN                        
457         IMPORTING                        
458           LAST_DAY_OF_MONTH = F_END                        
459         EXCEPTIONS                        
460           DAY_IN_NO_DATE    = 1                        
461           OTHERS            = 2.                        
462       IF SY-SUBRC <> 0.                        
463 *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO                        
464 *           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.                        
465       ENDIF.                        
466                         
467      "计算某段期间内的记账金额,可以通过abep-bwasl来指定资产业务类型,提高查询                        
468       CLEAR : F_ANBTR.                        
469       SELECT SINGLE SUM( ANBTR )                        
470         INTO F_ANBTR                        
471         FROM ANEP"资产行项目                        
472        WHERE BUKRS = P_BUKRS                        
473          AND GJAHR = P_GJAHR                        
474          AND ANLN1 = IW_ASSET-ANLN1                        
475          AND BZDAT BETWEEN 1900101 AND F_END                        
476          AND ANEP~AFABE = 01.                        
477                         
478      "计算资产原值,为购置和生产费用(KANSW)资产重置费用(KAUFW)以及累计记账之和                        
479       IW_ASSET-YZ = IW_ASSET-KANSW + IW_ASSET-KAUFW + F_ANBTR.                        
480                         
481 *  折旧率----具体看公司了                        
482       "检查是否存在资产折旧记录,若有,则根据折旧码来推算扣除折旧的资产余值                        
483       SELECT SINGLE *                        
484         FROM ANLB"折旧期限                        
485        WHERE ANLN1 = IW_ASSET-ANLN1                        
486          AND BUKRS = P_BUKRS.                        
487                         
488      IF SY-SUBRC = 0.                        
489         IF ANLB-AFASL = 0000."折旧码                        
490           IW_ASSET-YJCZ = IW_ASSET-YZ.                        
491         ELSEIF ANLB-AFASL = 1000.                        
492           IW_ASSET-YJCZ = IW_ASSET-YZ * 0.1.                        
493         ELSEIF ANLB-AFASL = 2000.                        
494           IW_ASSET-YJCZ = 0.                        
495         ENDIF.                        
496       ENDIF.                        
497                         
498      "获取当月折旧                        
499       SELECT SINGLE SUM( NAFAZ )                        
500         INTO IW_ASSET-NAFAZ                        
501         FROM ANLP                        
502        WHERE ANLN1 = IW_ASSET-ANLN1                        
503          AND BUKRS = IW_ASSET-BUKRS                        
504          AND GJAHR = IW_ASSET-GJAHR                        
505          AND PERAF = IW_ASSET-PERAF                        
506          AND AFABER = 01.                        
507                         
508     "获取当月计划外折旧                        
509       SELECT SINGLE SUM( AAFAZ )                        
510         INTO IW_ASSET-AAFAZ                        
511         FROM ANLP                        
512        WHERE ANLN1 = IW_ASSET-ANLN1                        
513          AND BUKRS = IW_ASSET-BUKRS                        
514          AND GJAHR = IW_ASSET-GJAHR                        
515          AND PERAF = IW_ASSET-PERAF                        
516          AND AFABER = 01.                        
517                         
518      DATA : P_NAFAG LIKE ANLP-NAFAG,                        
519             P_NAFAZ LIKE ANLP-NAFAZ,                        
520             P_NAFAV LIKE ANLC-NAFAV,                        
521             P_NAFAL LIKE ANLC-NAFAL.                        
522      DATA : MIN_PER LIKE ANLP-PERAF,                        
523             MIN_NO  LIKE ANLP-AFBNR.                        
524                         
525      "获取当前年度折旧                        
526       SELECT SUM( NAFAZ )                        
527         INTO P_NAFAZ FROM ANLP                        
528        WHERE ANLN1 = IW_ASSET-ANLN1                        
529          AND BUKRS = IW_ASSET-BUKRS                        
530          AND GJAHR = P_GJAHR                        
531          AND PERAF >= 1                        
532          AND PERAF <= P_PERAF                        
533          AND AFABER = 01.                        
534                         
535     "获取历史折旧                        
536       SELECT SUM( NAFAG )                        
537         INTO P_NAFAG                        
538         FROM ANLC                        
539        WHERE ANLN1 = IW_ASSET-ANLN1                        
540          AND BUKRS = IW_ASSET-BUKRS                        
541          AND GJAHR < P_GJAHR                        
542          AND AFABE = 01.                        
543                         
544      "获取结转的历史折旧                        
545       SELECT SUM( NAFAV ) SUM( NAFAL ) INTO (P_NAFAV,P_NAFAL)                        
546         FROM ANLC                        
547        WHERE ANLN1 = IW_ASSET-ANLN1                        
548          AND BUKRS = IW_ASSET-BUKRS                        
549          AND GJAHR <= P_GJAHR                        
550          AND AFABE = 01.                        
551                         
552      IW_ASSET-CSHZJ = P_NAFAV + P_NAFAL.                        
553                         
554      "获取累计正常折旧                        
555       SELECT SUM( KNAFA )                        
556         INTO IW_ASSET-KNAFA                        
557         FROM ANLC                        
558        WHERE ANLN1 = IW_ASSET-ANLN1                        
559          AND BUKRS = IW_ASSET-BUKRS                        
560          AND GJAHR < P_GJAHR                        
561          AND AFABE = 01.                        
562                         
563      IW_ASSET-LJPTZJ = P_NAFAZ +                        
564                        P_NAFAG +                        
565                        IW_ASSET-CSHZJ +                        
566                        IW_ASSET-KNAFA +                        
567                        IW_ASSET-AUFNG.                        
568                         
569      "获取折旧运行顺序号                        
570       SELECT SINGLE  MAX( AFBNR )                        
571         INTO P_AFBNR                        
572         FROM ANLP                        
573        WHERE ANLN1 = IW_ASSET-ANLN1                        
574          AND BUKRS = IW_ASSET-BUKRS                        
575          AND GJAHR = IW_ASSET-GJAHR                        
576          AND PERAF = P_PERAF                        
577          AND AFABER = 01.                        
578                         
579      "通过折旧运行的顺序号获取累计计划外折旧                        
580       SELECT SINGLE AAFAP                        
581         INTO IW_ASSET-AAFAP                        
582         FROM ANLP                        
583        WHERE ANLN1 = IW_ASSET-ANLN1                        
584          AND BUKRS = IW_ASSET-BUKRS                        
585          AND GJAHR = IW_ASSET-GJAHR                        
586          AND PERAF = P_PERAF                        
587          AND AFBNR = P_AFBNR                        
588          AND AFABER = 01.                        
589                         
590      "获取指定期间折旧记账运行的顺序号                        
591       SELECT SINGLE MAX( AFBNR )                        
592         INTO P_AFBNR                        
593         FROM ANLP                        
594        WHERE ANLN1 = IW_ASSET-ANLN1                        
595          AND BUKRS = IW_ASSET-BUKRS                        
596          AND GJAHR = IW_ASSET-GJAHR                        
597          AND PERAF = IW_ASSET-PERAF                        
598          AND AFABER = 01.                        
599                         
600      IW_ASSET-JZ = IW_ASSET-YZ + IW_ASSET-LJPTZJ + IW_ASSET-AAFAP.                        
601                         
602      DATA : L_DATE LIKE SY-DATUM.                        
603                         
604      CONCATENATE P_GJAHR P_PERAF+1(201 INTO L_DATE.                        
605                         
606     "通过函数计算两个日期的差异月份                        
607       CALL FUNCTION MONTHS_BETWEEN_TWO_DATES_NEW                        
608         EXPORTING                        
609           I_DATUM_BIS             = L_DATE                        
610           I_DATUM_VON             = IW_ASSET-AFABG                        
611 *       I_KZ_INCL_BIS           = ‘ ‘                        
612 *       I_KZ_VOLLE_MONATE       = ‘X‘                        
613        IMPORTING                        
614          E_MONATE                = IW_ASSET-XFABG                        
615                         
616          .                        
617                         
618      "工作中心为0000003120的行,颜色为红色                        
619      IF IW_ASSET-KOSTL = 0000003120.                        
620        IW_ASSET-COLOR = C610.                        
621      ENDIF.                        
622                         
623      IF IW_ASSET-KOSTL = 0000004250.                        
624        IW_CELLCOLOR-FNAME = PRCTR.                        
625        IW_CELLCOLOR-COLOR-COL = 3.                        
626        IW_CELLCOLOR-COLOR-INT = 1.                        
627        IW_CELLCOLOR-COLOR-INV = 0.                        
628                         
629        APPEND IW_CELLCOLOR TO IW_ASSET-CELLCOLOR.                        
630      ENDIF.                        
631                         
632      IW_ASSET-XFABG1 = IW_ASSET-XFABG + 1.                        
633       MODIFY IT_ASSET FROM IW_ASSET.                        
634       CLEAR : IW_ASSET.                        
635     ENDLOOP.                        
636   ENDFORM.                    " FRM_GET_DATA                        
637                         
638 *&---------------------------------------------------------------------*                        
639 *&      Form  FRM_FDCAT_BUILD                        
640 *&---------------------------------------------------------------------*                        
641 *       text                        
642 *----------------------------------------------------------------------*                        
643 *  -->  p1        text                        
644 *  <--  p2        text                        
645 *----------------------------------------------------------------------*                        
646 FORM FRM_FDCAT .                        
647   DATA LW_FCAT TYPE SLIS_FIELDCAT_ALV.                        
648   CLEAR IT_FIELDCAT.                        
649                         
650 ** 函数调I用获得标准字段                        
651 *  PERFORM FRM_GET_ALL_FIELD USING LW_FCAT.                        
652 * RFE自定义字段                        
653   PERFORM FRM_REDEFINE_FIELD USING LW_FCAT.                        
654 * 求和                        
655   PERFORM FRM_SUM_FIELD USING LW_FCAT.                        
656 * 颜色和HOTSPOT和对齐                        
657   PERFORM FRM_COLOR_HOTSPOT USING LW_FCAT.                        
658 * 格式调整                        
659  " PERFORM FRM_FORMAT_FIELD USING LW_FCAT.                        
660                         
661 ENDFORM.                    " FRM_FDCAT                        
662                         
663                         
664 *&---------------------------------------------------------------------*                        
665 *&      Form  FRM_LAYOUT                        
666 *&---------------------------------------------------------------------*                        
667 *       text                        
668 *----------------------------------------------------------------------*                        
669 *  -->  p1        text                        
670 *  <--  p2        text                        
671 *----------------------------------------------------------------------*                        
672 FORM FRM_LAYOUT .                        
673                         
674   IW_LAYOUT-COLWIDTH_OPTIMIZE = X."自适应字段宽度                        
675   IW_LAYOUT-ZEBRA = X.              "斑马线显示                        
676   IW_LAYOUT-INFO_FIELDNAME = COLOR.  "保存行颜色代码的字段                        
677   IW_LAYOUT-COLTAB_FIELDNAME = CELLCOLOR"单元格颜色内表字段                        
678 * IW_LAYOUT-EDIT = ‘X‘. "可以修改所有ALV列的数据,                        
679 * 左边也会出来选择行的按钮","保存"按钮也会出来                        
680   IW_LAYOUT-F2CODE = PICK."双击触发的FUNCTION CODE                        
681 ENDFORM.                    " FRM_LAYOUT                        
682                         
683 *&---------------------------------------------------------------------*                        
684 *&      Form  FRM_GET_ALL_FIELD                        
685 *&---------------------------------------------------------------------*                        
686 *       text                        
687 *----------------------------------------------------------------------*                        
688 *  -->  p1        text                        
689 *  <--  p2        text                        
690 *----------------------------------------------------------------------*                        
691 FORM FRM_GET_ALL_FIELD USING PS_FCAT TYPE SLIS_FIELDCAT_ALV.                        
692   DATA W_REPID TYPE SY-REPID.                        
693   W_REPID = SY-REPID.                        
694                         
695   CALL FUNCTION REUSE_ALV_FIELDCATALOG_MERGE                        
696     EXPORTING                        
697       I_PROGRAM_NAME         = W_REPID                        
698 *     I_INTERNAL_TABNAME     =                        
699       I_STRUCTURE_NAME       = ‘‘                        
700 *     I_CLIENT_NEVER_DISPLAY = ‘X‘                        
701 *     I_INCLNAME             =                        
702 *     I_BYPASSING_BUFFER     =                        
703 *     I_BUFFER_ACTIVE        =                        
704     CHANGING                        
705       CT_FIELDCAT            = IT_FIELDCAT                        
706     EXCEPTIONS                        
707       INCONSISTENT_INTERFACE = 1                        
708       PROGRAM_ERROR          = 2                        
709       OTHERS                 = 3.                        
710   IF SY-SUBRC <> 0.                        
711     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO                        
712            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.                        
713   ENDIF.                        
714                         
715 ENDFORM.                    " FRM_GET_ALL_FIELD                        
716                         
717 *&---------------------------------------------------------------------*                        
718 *&      Form  FRM_REDEFINE_FIELD                        
719 *&---------------------------------------------------------------------*                        
720 *       text                        
721 *----------------------------------------------------------------------*                        
722 *      -->P_LW_FCAT  text                        
723 *----------------------------------------------------------------------*                        
724 FORM FRM_REDEFINE_FIELD USING P_LW_FCAT TYPE SLIS_FIELDCAT_ALV.                        
725 CLEAR P_LW_FCAT.                        
726 DEFINE INITIAL_FIELD.                        
727   P_LW_FCAT-SELTEXT_L = &1.                          DEFINE alv_fieldcat.
728   P_LW_FCAT-SELTEXT_M = &1.                              ADD 1 TO col_pos .
729   P_LW_FCAT-SELTEXT_S = &1.                              CLEAR ls_fieldcat.
730   P_LW_FCAT-FIELDNAME = &2.                              ls_fieldcat-col_pos = col_pos .
731   APPEND P_LW_FCAT TO IT_FIELDCAT.                              ls_fieldcat-tabname = tabname.
732 END-OF-DEFINITION.                              ls_fieldcat-fieldname = &1.
733                               ls_fieldcat-reptext_ddic = &2.
734 INITIAL_FIELD   主资产编号       ANLN1.                              ls_fieldcat-outputlen = &3 .
735 INITIAL_FIELD   资产名称         TXT50.                              APPEND ls_fieldcat TO gt_fieldcat .
736 INITIAL_FIELD   资产名称2        TXA50.                          END-OF-DEFINITION.
737 INITIAL_FIELD   公司代码         BUKRS.                        
738 INITIAL_FIELD   会计年度         GJAHR.                        
739 INITIAL_FIELD   成本中心         KOSTL.                        
740 INITIAL_FIELD   成本中心描述     KTEXT.                        
741 INITIAL_FIELD   业务范围         GSBER.                        
742 INITIAL_FIELD   业务范围描述     GTEXT.                        
743 INITIAL_FIELD   利润中心         PRCTR.                        
744 INITIAL_FIELD   利润中心描述     PKTEXT.                        
745 INITIAL_FIELD   资产大类         ANLKL.                        
746 INITIAL_FIELD   资产大类名称     TXK20.                        
747 INITIAL_FIELD   存放地点         ANLHTXT.                        
748 INITIAL_FIELD   使用人/保管人    KFZKZ.                        
749 INITIAL_FIELD   规格             SERNR.                        
750 INITIAL_FIELD   来源资产卡片编号  AIBN1.                        
751 INITIAL_FIELD   资产小类编码      ORD41.                        
752 INITIAL_FIELD   资产小类名称      ORDTX1.                        
753 INITIAL_FIELD   资本化日期        AKTIV.                        
754 INITIAL_FIELD   已折旧月份        XFABG1.                        
755 INITIAL_FIELD   不活动日期        DEAKT.                        
756 INITIAL_FIELD   折旧期限-年       NDJAR.                        
757 INITIAL_FIELD   折旧期限-月       NDPER.                        
758 INITIAL_FIELD   折旧码            AFASL.                        
759 INITIAL_FIELD   原值              YZ.                        
760 INITIAL_FIELD   预计净残值        YJCZ.                        
761 INITIAL_FIELD   本月折旧          NAFAZ.                        
762 INITIAL_FIELD   本月计划外折旧    AAFAZ.                        
763 INITIAL_FIELD   累计普通折旧      LJPTZJ.                        
764 INITIAL_FIELD   累计计划外折旧    AAFAP.                        
765 INITIAL_FIELD   净值             JZ.                        
766 INITIAL_FIELD   初始化折旧        CSHZJ.                        
767 INITIAL_FIELD   供应商代码        LIFNR.                        
768 INITIAL_FIELD   供应商名称        LIEFE.                        
769                         
770 ENDFORM.                    " FRM_REDEFINE_FIELD                        
771                         
772 *&---------------------------------------------------------------------*                        
773 *&      Form  FRM_SUM_FIELD                        
774 *&---------------------------------------------------------------------*                        
775 *       text                        
776 *----------------------------------------------------------------------*                        
777 *      -->P_LW_FCAT  text                        
778 *----------------------------------------------------------------------*                        
779 FORM FRM_SUM_FIELD  USING P_LW_FCAT TYPE SLIS_FIELDCAT_ALV.                        
780 * 求和                        
781   CLEAR P_LW_FCAT.                        
782   P_LW_FCAT-FIELDNAME = NAFAZ.                        
783   "P_LW_FCAT-REF_TABNAME = ‘ ‘.                        
784   "P_LW_FCAT-COL_POS = ‘ ‘.                        
785   P_LW_FCAT-DO_SUM = X.  "立即求和,只有I,F,P类型的列可以求和                        
786   MODIFY IT_FIELDCAT FROM P_LW_FCAT TRANSPORTING DO_SUM                        
787   WHERE FIELDNAME = NAFAZ.                        
788 ENDFORM.                    " FRM_SUM_FIELD                        
789                         
790 *&---------------------------------------------------------------------*                        
791 *&      Form  FRM_COLOR_HOTSPOT                        
792 *&---------------------------------------------------------------------*                        
793 *       text                        
794 *----------------------------------------------------------------------*                        
795 *      -->P_LW_FCAT  text                        
796 *----------------------------------------------------------------------*                        
797 FORM FRM_COLOR_HOTSPOT  USING P_CLR_FCAT TYPE SLIS_FIELDCAT_ALV.                        
798   CLEAR P_CLR_FCAT.                        
799                         
800  "列 LJPTZJ 的字体颜色为红色                        
801   P_CLR_FCAT-EMPHASIZE = C601.                        
802   MODIFY IT_FIELDCAT FROM P_CLR_FCAT TRANSPORTING EMPHASIZE                        
803    WHERE FIELDNAME = ANLKL.                        
804                         
805   "定义热键显示字段,使双击事件有效                        
806   P_CLR_FCAT-REF_TABNAME = IT_ASSET.                        
807   P_CLR_FCAT-HOTSPOT = X.                        
808   P_CLR_FCAT-KEY = X.                        
809   MODIFY IT_FIELDCAT FROM P_CLR_FCAT                        
810   TRANSPORTING REF_TABNAME HOTSPOT KEY                        
811   WHERE FIELDNAME = ANLN1.                        
812 ENDFORM.                    " FRM_COLOR_HOTSPOT                        
813                         
814 *&---------------------------------------------------------------------*                        
815 *&      Form  FRM_STATUS_EX                        
816 *&---------------------------------------------------------------------*                        
817 *       text                        
818 *----------------------------------------------------------------------*                        
819 *  -->  p1        text                        
820 *  <--  p2        text                        
821 *----------------------------------------------------------------------*                        
822 FORM FRM_STATUS_EX USING EXTAB TYPE SLIS_T_EXTAB.                        
823   DATA:BEGIN OF TAB OCCURS 0,                        
824          FCODE LIKE RSMPE-FUNC,                        
825        END OF TAB.                        
826                         
827   TAB-FCODE = &OL0.APPEND TAB.                        
828   TAB-FCODE = &OAD.APPEND TAB.                        
829   TAB-FCODE = &AVE.APPEND TAB.                        
830                         
831   SET PF-STATUS STANDARD_FULLSCREEN OF PROGRAM SAPLKKBL                        
832   EXCLUDING TAB IMMEDIATELY.                        
833                         
834 ENDFORM.                    " FRM_STATUS_EX                        
835                         
836                         
837 *&---------------------------------------------------------------------*                        
838 *&      Form  FRM_ALV_DISPLAY                        
839 *&---------------------------------------------------------------------*                        
840 *       text                        
841 *----------------------------------------------------------------------*                        
842 *  -->  p1        text                        
843 *  <--  p2        text                        
844 *----------------------------------------------------------------------*                        
845 FORM FRM_ALV_DISPLAY .                        
846 DATA W_REPID TYPE SY-REPID.                        
847                         
848 W_REPID = SY-REPID.                        
849                         
850 CALL FUNCTION REUSE_ALV_GRID_DISPLAY                        
851  EXPORTING                        
852 *   I_INTERFACE_CHECK                 = ‘ ‘                        
853 *   I_BYPASSING_BUFFER                = ‘ ‘                        
854 *   I_BUFFER_ACTIVE                   = ‘ ‘                        
855    I_CALLBACK_PROGRAM                = W_REPID                        
856     I_CALLBACK_PF_STATUS_SET          = FRM_STATUS_EX                        
857     I_CALLBACK_USER_COMMAND           = FRM_ALV_USER_COMMAND                        
858 *   I_CALLBACK_TOP_OF_PAGE            = ‘ ‘                        
859 *   I_CALLBACK_HTML_TOP_OF_PAGE       = ‘ ‘                        
860 *   I_CALLBACK_HTML_END_OF_LIST       = ‘ ‘                        
861 *   I_STRUCTURE_NAME                  =                        
862 *   I_BACKGROUND_ID                   = ‘ ‘                        
863    I_GRID_TITLE                      = 资产信息一览                        
864 *   I_GRID_SETTINGS                   =                        
865    IS_LAYOUT                         = IW_LAYOUT                        
866    IT_FIELDCAT                       = IT_FIELDCAT                        
867 *   IT_EXCLUDING                      =                        
868 *   IT_SPECIAL_GROUPS                 =                        
869 *   IT_SORT                           =                        
870 *   IT_FILTER                         =                        
871 *   IS_SEL_HIDE                       =                        
872    I_DEFAULT                         = X                        
873    I_SAVE                            = X                        
874 *   IS_VARIANT                        =                        
875    IT_EVENTS                         = IT_EVENT                        
876 *   IT_EVENT_EXIT                     =                        
877 *   IS_PRINT                          =                        
878 *   IS_REPREP_ID                      =                        
879 *   I_SCREEN_START_COLUMN             = 0                        
880 *   I_SCREEN_START_LINE               = 0                        
881 *   I_SCREEN_END_COLUMN               = 0                        
882 *   I_SCREEN_END_LINE                 = 0                        
883 *   I_HTML_HEIGHT_TOP                 = 0                        
884 *   I_HTML_HEIGHT_END                 = 0                        
885 *   IT_ALV_GRAPHICS                   =                        
886 *   IT_HYPERLINK                      =                        
887 *   IT_ADD_FIELDCAT                   =                        
888 *   IT_EXCEPT_QINFO                   =                        
889 *   IR_SALV_FULLSCREEN_ADAPTER        =                        
890 * IMPORTING                        
891 *   E_EXIT_CAUSED_BY_CALLER           =                        
892 *   ES_EXIT_CAUSED_BY_USER            =                        
893   TABLES                        
894     T_OUTTAB                          = IT_ASSET                        
895  EXCEPTIONS                        
896    PROGRAM_ERROR                     = 1                        
897    OTHERS                            = 2                        
898           .                        
899 IF SY-SUBRC <> 0.                        
900 *MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO                        
901 *       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.                        
902 ENDIF.                        
903 ENDFORM.                    " FRM_ALV_DISPLAY                        
904 *&---------------------------------------------------------------------*                        
905 *&      Form  FRM_ALV_USER_COMMAND                        
906 *&---------------------------------------------------------------------*                        
907 *       text                        
908 *----------------------------------------------------------------------*                        
909 *  -->  p1        text                        
910 *  <--  p2        text                        
911 *----------------------------------------------------------------------*                        
912 FORM FRM_ALV_USER_COMMAND USING R_UCOMM TYPE SY-UCOMM                        
913                                  RS_SELFIELD TYPE SLIS_SELFIELD.                        
914   CASE R_UCOMM.                        
915     WHEN PICK.                        
916     READ TABLE IT_ASSET INTO IW_ASSET INDEX RS_SELFIELD-TABINDEX.                        
917     SET PARAMETER IDAN1 FIELD IW_ASSET-ANLN1,                        
918                       BUK FIELD IW_ASSET-BUKRS.                        
919                         
920     CALL TRANSACTION AS03 AND SKIP FIRST SCREEN.                        
921   ENDCASE.                        
922 ENDFORM.                    " FRM_ALV_USER_COMMAND

 

ABAP ALV 示例:ALV单元格颜色,ALV行颜色,ALV双击事件,数据合计,ALV表头,ALV GUI STATUS

标签:

原文地址:http://www.cnblogs.com/mingdashu/p/alv-demo.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!