ABAP AS91 创建历史资产主数据批导

发布时间 2023-09-25 13:51:36作者: 年轻的小菜鸟
  1 *&---------------------------------------------------------------------*
  2 *& Report ZFICZ011
  3 *&---------------------------------------------------------------------*
  4 *&
  5 *&---------------------------------------------------------------------*
  6 REPORT zficz011 MESSAGE-ID z_fi.
  7 TABLES:sscrfields.
  8 TYPE-POOLS: slis, icon.
  9 *&---上传模板对应字段 begin--
 10 TYPES:BEGIN OF ty_download,
 11         bukrs  TYPE anla-bukrs,
 12         anln1  TYPE anla-anln1,
 13         anln2  TYPE anla-anln2,
 14         gjahr  TYPE anlc-gjahr,
 15         kansw  TYPE anlc-kansw, "资产价值
 16         kaufw  TYPE anlc-kaufw, "减值
 17         afabe  TYPE anlc-afabe, "实际折旧范围01
 18         knafa  TYPE anlc-knafa, "资产以前年度折旧01
 19         nafag  TYPE anlc-nafag, "资产当前年度折旧01
 20         afabe1 TYPE anlc-afabe, "实际折旧范围32
 21         knafa1 TYPE anlc-knafa, "资产以前年度折旧32
 22         nafag1 TYPE anlc-nafag, "资产当前年度折旧32
 23         zflg   TYPE c LENGTH 1 , "当前年度购入资产标识
 24         aktiv  TYPE anla-aktiv,
 25       END OF ty_download.
 26 
 27 TYPES:BEGIN OF ty_upload_data.
 28         INCLUDE TYPE ty_download.
 29 TYPES:  light TYPE icon_d, "指示灯
 30         ztext TYPE char255, "状态说明
 31         sel   TYPE c,
 32       END OF ty_upload_data.
 33 *& ----end
 34 DATA:lt_data   TYPE TABLE OF ty_download,
 35      ls_data   TYPE ty_download,
 36      lt_upload TYPE TABLE OF ty_upload_data,
 37      ls_upload TYPE ty_upload_data.
 38 DATA:functxt  TYPE smp_dyntxt.
 39 DATA:gs_layout   TYPE slis_layout_alv,
 40      gt_fieldcat TYPE slis_t_fieldcat_alv.
 41 DATA:   messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
 42 FIELD-SYMBOLS:
 43   <fs_fieldcat> TYPE slis_fieldcat_alv.
 44 CONSTANTS:c_icon_red    TYPE icon_d VALUE '@5C@',
 45           c_icon_green  TYPE icon_d VALUE '@5B@',
 46           c_icon_yellow TYPE icon_d VALUE '@5D@'.
 47 
 48 SELECTION-SCREEN:BEGIN OF BLOCK bl1 WITH FRAME TITLE TEXT-t01.
 49   SELECTION-SCREEN SKIP 1.
 50   PARAMETERS p_file TYPE char128 MODIF ID m2.
 51 
 52   SELECTION-SCREEN: FUNCTION KEY 1 .
 53 SELECTION-SCREEN:END OF BLOCK bl1.
 54 
 55 INITIALIZATION.
 56   PERFORM frm_init_data.
 57 
 58 AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
 59   PERFORM frm_file_input.
 60 
 61 AT SELECTION-SCREEN.
 62   CASE sscrfields-ucomm.
 63     WHEN 'FC01'.
 64       PERFORM frm_down_template .
 65     WHEN OTHERS.
 66   ENDCASE.
 67 
 68 START-OF-SELECTION.
 69   PERFORM frm_get_upload_data.
 70   PERFORM frm_check_data.
 71   PERFORM frm_display_upload_data.
 72 
 73 *&---------------------------------------------------------------------*
 74 *&      Form  FRM_INIT_DATA
 75 *&---------------------------------------------------------------------*
 76 *       text
 77 *----------------------------------------------------------------------*
 78 *  -->  p1        text
 79 *  <--  p2        text
 80 *----------------------------------------------------------------------*
 81 FORM frm_init_data .
 82   functxt-icon_id   = icon_xls.
 83   functxt-icon_text = '下载模板'.
 84   sscrfields-functxt_01 = functxt.
 85 ENDFORM.
 86 *&---------------------------------------------------------------------*
 87 *&      Form  FRM_FILE_INPUT
 88 *&---------------------------------------------------------------------*
 89 *       text
 90 *----------------------------------------------------------------------*
 91 *  -->  p1        text
 92 *  <--  p2        text
 93 *----------------------------------------------------------------------*
 94 FORM frm_file_input .
 95   DATA:lt_tab         TYPE filetable,
 96        ls_tab         TYPE LINE OF filetable,
 97        lv_file_filter TYPE string, "file filter
 98        lv_rc          TYPE i.
 99   REFRESH:lt_tab.
100   CLEAR:ls_tab,lv_file_filter,lv_rc.
101 
102 * only for xls
103   lv_file_filter = 'Excel Files (*.xls)|*.xls|Excel Files (*.xlsx)|*.xlsx'.
104 
105   CALL METHOD cl_gui_frontend_services=>file_open_dialog
106     EXPORTING
107       window_title            = 'WINDOW_TITLE'
108       file_filter             = lv_file_filter
109 *     initial_directory       = 'C:\'
110     CHANGING
111       file_table              = lt_tab
112       rc                      = lv_rc
113     EXCEPTIONS
114       file_open_dialog_failed = 1
115       cntl_error              = 2
116       error_no_gui            = 3
117       not_supported_by_gui    = 4
118       OTHERS                  = 5.
119 
120   IF sy-subrc = 0.
121     READ TABLE lt_tab INDEX 1 INTO ls_tab.
122     IF sy-subrc = 0.
123       p_file = ls_tab.
124     ENDIF.
125   ENDIF.
126 ENDFORM.
127 *&---------------------------------------------------------------------*
128 *&      Form  FRM_DOWN_TEMPLATE
129 *&---------------------------------------------------------------------*
130 *       text
131 *----------------------------------------------------------------------*
132 *  -->  p1        text
133 *  <--  p2        text
134 *----------------------------------------------------------------------*
135 FORM frm_down_template .
136   DATA  lv_full_filenm   TYPE localfile.
137   DATA: lc_path     TYPE string,
138         lc_file     TYPE string,
139         lc_filter   TYPE string,
140         lc_title    TYPE string VALUE '请选择保存的路径及文件名',
141         lc_name     TYPE string,
142         lv_fullpath TYPE string.
143   DATA lv_destination TYPE rlgrap-filename.
144 
145   DATA:lv_key   TYPE wwwdatatab,
146        lv_subrc TYPE sy-subrc.
147   CLEAR:lv_full_filenm,lc_path,lc_file,lc_filter,lc_title,lc_name,lv_fullpath,
148         lv_destination.
149   CLEAR:lv_key,lv_subrc.
150 
151   CONCATENATE cl_gui_frontend_services=>filetype_excel
152               cl_gui_frontend_services=>filetype_all
153          INTO lc_filter.
154 
155   CONCATENATE '票据批导功能上传' '.' 'XLSX' INTO lc_name .
156 
157   CALL METHOD cl_gui_frontend_services=>file_save_dialog
158     EXPORTING
159       default_file_name = lc_name
160       window_title      = lc_title
161       file_filter       = lc_filter
162     CHANGING
163       filename          = lc_file
164       path              = lc_path
165       fullpath          = lv_fullpath.
166 
167   IF lv_fullpath IS INITIAL.
168     MESSAGE s999 WITH '操作取消!'(007).
169     RETURN.
170   ELSE .
171     lv_full_filenm = lv_fullpath .
172   ENDIF.
173 
174   SELECT SINGLE wwwdata~relid wwwdata~objid
175   INTO CORRESPONDING FIELDS OF lv_key
176   FROM  wwwdata
177   WHERE wwwdata~relid = 'MI'
178     AND wwwdata~objid = 'ZFICZ011'
179     AND wwwdata~srtf2 = 0.
180 
181   IF sy-subrc <> 0.
182     MESSAGE e000 WITH '模版文件不存在!'(006) .     "The excel template  no existed !
183   ENDIF.
184 
185   lv_destination = lv_fullpath.
186 
187   CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
188     EXPORTING
189       key         = lv_key
190       destination = lv_destination
191     IMPORTING
192       rc          = lv_subrc.
193   IF lv_fullpath IS NOT INITIAL .
194     IF sy-subrc NE 0.
195       MESSAGE e000 WITH '下载失败!'(004) .
196     ELSE .
197       MESSAGE s000 WITH '下载成功!'(005) .
198     ENDIF.
199   ELSE .
200     MESSAGE s000 WITH '请指定文件保存路径!'(008) .
201   ENDIF .
202 ENDFORM.
203 *&---------------------------------------------------------------------*
204 *&      Form  FRM_GET_UPLOAD_DATA
205 *&---------------------------------------------------------------------*
206 *       text
207 *----------------------------------------------------------------------*
208 *  -->  p1        text
209 *  <--  p2        text
210 *----------------------------------------------------------------------*
211 FORM frm_get_upload_data .
212   DATA:BEGIN OF lt_excel OCCURS 0 .
213          INCLUDE STRUCTURE  zalsmex_tabline .
214   DATA:END   OF lt_excel .
215   DATA:ls_excel     LIKE LINE OF lt_excel,
216        lv_filename  TYPE localfile,
217        lv_begin_col TYPE i,
218        lv_begin_row TYPE i,
219        lv_end_col   TYPE i,
220        lv_end_row   TYPE i.
221   FIELD-SYMBOLS:<fs_field>.
222 
223   REFRESH lt_excel.
224   CLEAR:lv_filename,lv_begin_col,lv_begin_row,lv_end_col,lv_end_row,ls_excel,lt_upload,ls_upload.
225 
226 * 本地文件路径
227   lv_filename = p_file .
228 
229   lv_begin_col = 2.
230   lv_begin_row = 3.
231   lv_end_col   = 15.
232   lv_end_row   = 10000.
233 
234 * 读取本地EXCEL文件数据
235   CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'
236     EXPORTING
237       filename                = lv_filename
238       i_begin_col             = lv_begin_col
239       i_begin_row             = lv_begin_row
240       i_end_col               = lv_end_col
241       i_end_row               = lv_end_row
242     TABLES
243       intern                  = lt_excel
244     EXCEPTIONS
245       inconsistent_parameters = 1
246       upload_ole              = 2
247       OTHERS                  = 3.
248 
249   IF lt_excel[] IS INITIAL.
250     MESSAGE s001 DISPLAY LIKE 'E'.
251     LEAVE LIST-PROCESSING.
252   ENDIF.
253 
254   CLEAR:ls_upload,ls_data,lt_data,lt_upload.
255   LOOP AT lt_excel INTO ls_excel.
256     ASSIGN COMPONENT ls_excel-col OF STRUCTURE ls_data TO <fs_field>.
257     <fs_field> = ls_excel-value.
258 
259     AT END OF row.
260 *      APPEND ls_upload TO lt_upload.
261       MOVE-CORRESPONDING ls_data TO ls_upload.
262       APPEND ls_upload TO lt_upload..
263       CLEAR:ls_upload,ls_data.
264     ENDAT.
265   ENDLOOP.
266 
267   IF  lt_upload[] IS INITIAL.
268     MESSAGE s001 DISPLAY LIKE 'E'.
269     LEAVE LIST-PROCESSING.
270   ENDIF.
271 ENDFORM.
272 *&---------------------------------------------------------------------*
273 *&      Form  FRM_CHECK_DATA
274 *&---------------------------------------------------------------------*
275 *       text
276 *----------------------------------------------------------------------*
277 *  -->  p1        text
278 *  <--  p2        text
279 *----------------------------------------------------------------------*
280 FORM frm_check_data .
281   DATA:lv_bukrs TYPE t001-bukrs.
282 
283   LOOP AT lt_upload INTO ls_upload.
284     "公司代码检查
285     IF ls_upload-bukrs IS INITIAL.
286       ls_upload-light = c_icon_red.
287       CONCATENATE ls_upload-ztext '公司代码不能为空' INTO ls_upload-ztext SEPARATED BY ','.
288     ELSE.
289       CLEAR lv_bukrs.
290       SELECT SINGLE bukrs INTO lv_bukrs FROM t001 WHERE bukrs = ls_upload-bukrs.
291       IF lv_bukrs IS INITIAL.
292         ls_upload-light = c_icon_red.
293         CONCATENATE ls_upload-ztext '公司代码不存在' INTO ls_upload-ztext SEPARATED BY ','.
294       ELSE.
295 *        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
296 *         ID 'BUKRS' FIELD ls_upload-bukrs.
297 *        IF sy-subrc <> 0.
298 *          ls_upload-light = c_icon_red.
299 *          CONCATENATE ls_upload-ztext '您没有该公司权限' INTO ls_upload-ztext SEPARATED BY ','.
300 *        ENDIF.
301       ENDIF.
302     ENDIF.
303 
304     IF ls_upload-gjahr IS INITIAL.
305       ls_upload-light = c_icon_red.
306       CONCATENATE ls_upload-ztext '会计年度不能为空' INTO ls_upload-ztext SEPARATED BY ','.
307     ENDIF.
308 
309     IF ls_upload-anln1 IS INITIAL.
310       ls_upload-light = c_icon_red.
311       CONCATENATE ls_upload-ztext '主资产号不能为空' INTO ls_upload-ztext SEPARATED BY ','.
312     ELSE.
313       SELECT SINGLE anln1
314          INTO @DATA(lv_anln1)
315          FROM anla
316         WHERE bukrs = @ls_upload-bukrs
317           AND anln1 = @ls_upload-anln1
318           AND anln2 = @ls_upload-anln2.
319       IF lv_anln1 IS INITIAL .
320         ls_upload-light = c_icon_red.
321         CONCATENATE ls_upload-ztext '主资产号不存在' INTO ls_upload-ztext SEPARATED BY ','.
322       ENDIF.
323     ENDIF.
324 
325 
326     MODIFY lt_upload FROM ls_upload.
327   ENDLOOP.
328 ENDFORM.
329 *&---------------------------------------------------------------------*
330 *&      Form  FRM_DISPLAY_UPLOAD_DATA
331 *&---------------------------------------------------------------------*
332 *       text
333 *----------------------------------------------------------------------*
334 *  -->  p1        text
335 *  <--  p2        text
336 *----------------------------------------------------------------------*
337 FORM frm_display_upload_data .
338   REFRESH gt_fieldcat.
339   CLEAR gs_layout.
340   PERFORM frm_set_displayfield.
341   gs_layout-zebra = 'X'.
342   gs_layout-colwidth_optimize = 'X'.
343   gs_layout-box_fieldname = 'SEL'.
344 
345   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
346     EXPORTING
347 *     i_grid_title             = gv_title
348       i_callback_program       = sy-repid
349       i_callback_pf_status_set = 'SET_PF_STATUS'
350       i_callback_user_command  = 'USER_COMMAND'
351       is_layout                = gs_layout
352       it_fieldcat              = gt_fieldcat
353     TABLES
354       t_outtab                 = lt_upload
355     EXCEPTIONS
356       program_error            = 1
357       OTHERS                   = 2.
358 ENDFORM.
359 *&---------------------------------------------------------------------*
360 *&      Form  FRM_SET_DISPLAYFIELD
361 *&---------------------------------------------------------------------*
362 *       text
363 *----------------------------------------------------------------------*
364 *  -->  p1        text
365 *  <--  p2        text
366 *----------------------------------------------------------------------*
367 FORM frm_set_displayfield .
368   PERFORM frm_field_set TABLES gt_fieldcat USING 'LIGHT' '指示灯' '10'.
369   PERFORM frm_field_set TABLES gt_fieldcat USING 'ZTEXT' '消息' '20'.
370   PERFORM frm_field_set TABLES gt_fieldcat USING 'BUKRS' '公司代码' '8'.
371   PERFORM frm_field_set TABLES gt_fieldcat USING 'ANLN1' '主资产号' ''.
372   PERFORM frm_field_set TABLES gt_fieldcat USING 'ANLN2' '次级资产编号' ''.
373 
374   PERFORM frm_field_set TABLES gt_fieldcat USING 'GJAHR' '会计年度' ''.
375   PERFORM frm_field_set TABLES gt_fieldcat USING 'KANSW' '资产价值' ''.
376   PERFORM frm_field_set TABLES gt_fieldcat USING 'KAUFW' '当前年度减值' ''.
377 
378   PERFORM frm_field_set TABLES gt_fieldcat USING 'AFABE' '实际折旧范围' ''.
379   PERFORM frm_field_set TABLES gt_fieldcat USING 'KNAFA' '资产以前年度折旧' ''.
380   PERFORM frm_field_set TABLES gt_fieldcat USING 'NAFAG' '资产当前年度折旧' ''.
381 
382   PERFORM frm_field_set TABLES gt_fieldcat USING 'AFABE1' '实际折旧范围' ''.
383   PERFORM frm_field_set TABLES gt_fieldcat USING 'KNAFA1' '资产以前年度折旧' ''.
384   PERFORM frm_field_set TABLES gt_fieldcat USING 'NAFAG1' '资产当前年度折旧' ''.
385 
386   PERFORM frm_field_set TABLES gt_fieldcat USING 'ZFLG' '当前年度购入资产' ''.
387   PERFORM frm_field_set TABLES gt_fieldcat USING 'AKTIV' '资本化日期' ''.
388 
389 
390 
391 ENDFORM.
392 *&---------------------------------------------------------------------*
393 *&      Form  FRM_FIELD_SET
394 *&---------------------------------------------------------------------*
395 FORM frm_field_set  TABLES   pt_fieldcat TYPE slis_t_fieldcat_alv
396                     USING    p_fieldname
397                              p_seltext
398                              p_outputlen.
399 
400   APPEND INITIAL LINE TO pt_fieldcat ASSIGNING <fs_fieldcat>.
401   <fs_fieldcat>-fieldname = p_fieldname.
402   <fs_fieldcat>-seltext_s = p_seltext.
403   <fs_fieldcat>-seltext_m = p_seltext.
404   <fs_fieldcat>-seltext_l = p_seltext.
405   <fs_fieldcat>-outputlen = p_outputlen.
406 
407 ENDFORM.
408 
409 *----------------------------------------------------------------------*
410 * set_pf_status
411 *----------------------------------------------------------------------*
412 FORM set_pf_status USING rt_extab TYPE slis_t_extab.
413 
414   SET PF-STATUS 'STATUS_01'.
415   SET TITLEBAR 'TITLE_01'.
416 
417 ENDFORM.
418 
419 *----------------------------------------------------------------------*
420 * user_command
421 *----------------------------------------------------------------------*
422 FORM user_command USING r_ucomm LIKE sy-ucomm
423                                     rs_selfield TYPE slis_selfield.
424   SORT lt_upload.
425   DATA: lr_grid TYPE REF TO cl_gui_alv_grid.
426   CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
427     IMPORTING
428       e_grid = lr_grid.
429 
430   CALL METHOD lr_grid->check_changed_data.
431   rs_selfield-refresh = 'X'.  "自动刷新
432 
433   CASE r_ucomm.
434     WHEN 'ZUPLOAD'.
435       READ TABLE lt_upload INTO ls_upload WITH KEY light = c_icon_red.
436       IF sy-subrc = 0.
437         MESSAGE s003 DISPLAY LIKE 'E'.
438       ELSE.
439         READ TABLE lt_upload INTO ls_upload WITH KEY sel = 'X'.
440         IF sy-subrc <> 0.
441           MESSAGE '请选择你要上传的数据' TYPE 'E'.
442           LEAVE LIST-PROCESSING.
443         ENDIF.
444         READ TABLE lt_upload INTO ls_upload WITH KEY light = c_icon_green.
445         IF sy-subrc = 0.
446           MESSAGE '数据已上传成功,请勿重复操作' TYPE 'S' DISPLAY LIKE 'E'.
447         ELSE.
448           PERFORM frm_upload_data.
449         ENDIF.
450 
451       ENDIF.
452 
453     WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
454       LEAVE TO SCREEN 0.
455 
456   ENDCASE.
457 
458 ENDFORM.
459 *&---------------------------------------------------------------------*
460 *&      Form  frm_upload_data
461 *&---------------------------------------------------------------------*
462 *       text
463 *----------------------------------------------------------------------*
464 *  -->  p1        text
465 *  <--  p2        text
466 *----------------------------------------------------------------------*
467 FORM frm_upload_data .
468   DATA:lv_answer TYPE c,
469        x_options TYPE ctu_params,
470        lv_flg    TYPE c.
471   DATA:lw_key             TYPE TABLE OF bapi1022_key WITH HEADER LINE,
472        lt_cumulatedvalues TYPE TABLE OF bapi1022_cumval,
473        lt_postedvalues    TYPE TABLE OF bapi1022_postval,
474        lt_transactions    TYPE TABLE OF bapi1022_trtype,
475        lt_return          TYPE TABLE OF bapiret2,
476        lw_return          TYPE bapiret2.
477 * 弹出确认窗口
478   CLEAR:lv_answer,lv_flg.
479   CALL FUNCTION 'POPUP_TO_CONFIRM'
480     EXPORTING
481       titlebar       = '确认窗口'
482       text_question  = '是否确认上传?'
483       text_button_1  = '确认'
484     IMPORTING
485       answer         = lv_answer
486     EXCEPTIONS
487       text_not_found = 1
488       OTHERS         = 2.
489   CASE lv_answer.
490     WHEN '1'.
491 
492       LOOP AT lt_upload INTO ls_upload.
493         ls_upload-anln1 = |{ ls_upload-anln1 ALPHA = IN }|.
494         ls_upload-anln2 = |{ ls_upload-anln2 ALPHA = IN }|.
495 
496         PERFORM frm_set_bapi_data TABLES lt_cumulatedvalues lt_postedvalues lt_transactions
497                                   USING ls_upload CHANGING lw_key.
498 
499 
500         CALL FUNCTION 'BAPI_FIXEDASSET_OVRTAKE_POST'
501           EXPORTING
502             key             = lw_key
503           TABLES
504             cumulatedvalues = lt_cumulatedvalues
505             postedvalues    = lt_postedvalues
506             transactions    = lt_transactions
507             return          = lt_return.
508         CLEAR lv_flg.
509         LOOP AT lt_return INTO lw_return WHERE type = 'E' OR type = 'A'.
510           IF ls_upload-ztext IS INITIAL.
511             ls_upload-ztext = lw_return-message.
512           ELSE.
513             ls_upload-ztext = ls_upload-ztext && ',' && lw_return-message.
514           ENDIF.
515           lv_flg = 'X'.
516         ENDLOOP.
517         IF lv_flg = 'X'.
518           ls_upload-light = c_icon_green.
519           ls_upload-ztext = '上传成功'.
520         ELSE.
521           ls_upload-light = c_icon_red.
522           ls_upload-ztext = '上传失败'.
523         ENDIF.
524         MODIFY lt_upload FROM ls_upload TRANSPORTING light ztext.
525       ENDLOOP.
526 
527     WHEN OTHERS.
528   ENDCASE.
529 
530 
531 
532 ENDFORM.
533 *&---------------------------------------------------------------------*
534 *& Form frm_set_bapi_data
535 *&---------------------------------------------------------------------*
536 *& text
537 *&---------------------------------------------------------------------*
538 *&      --> LS_UPLOAD
539 *&      <-- KEY
540 *&      <-- LT_CUMULATEDVALUES
541 *&      <-- LT_POSTEDVALUES
542 *&      <-- LT_TRANSACTIONS
543 *&---------------------------------------------------------------------*
544 FORM frm_set_bapi_data TABLES p_cumulatedvalues STRUCTURE bapi1022_cumval
545                               p_postedvalues STRUCTURE bapi1022_postval
546                               p_transactions STRUCTURE bapi1022_trtype
547                        USING   ps_upload TYPE ty_upload_data CHANGING p_key TYPE bapi1022_key.
548   CLEAR:p_key,p_cumulatedvalues,p_postedvalues,p_transactions
549         ,p_cumulatedvalues[],p_postedvalues[],p_transactions[].
550 
551   p_key-companycode = ps_upload-bukrs.
552   p_key-asset = ps_upload-anln1.
553   p_key-subnumber = ps_upload-anln2.
554   IF ps_upload-zflg = ''.
555     "01折旧范围
556     IF ps_upload-afabe IS NOT INITIAL .
557       p_cumulatedvalues-fisc_year = ps_upload-gjahr.
558       p_cumulatedvalues-area = ps_upload-afabe."折旧范围
559       p_cumulatedvalues-acq_value = ps_upload-kansw."资产价值
560       p_cumulatedvalues-rev_repl = ps_upload-kaufw."减值
561       p_cumulatedvalues-ord_dep = ps_upload-knafa."以前年度折旧
562       APPEND p_cumulatedvalues.
563     ENDIF.
564 
565     "32折旧范围
566     IF ps_upload-afabe1 IS NOT INITIAL.
567       p_cumulatedvalues-fisc_year = ps_upload-gjahr.
568       p_cumulatedvalues-area = ps_upload-afabe1."折旧范围
569       p_cumulatedvalues-acq_value = ps_upload-kansw."资产价值
570       p_cumulatedvalues-rev_repl = ps_upload-kaufw."减值
571       p_cumulatedvalues-ord_dep = ps_upload-knafa1."以前年度折旧
572       APPEND p_cumulatedvalues.
573     ENDIF.
574 
575   ELSE.
576     IF ps_upload-afabe IS NOT INITIAL.
577       p_transactions-fisc_year = ps_upload-gjahr.
578       p_transactions-current_no = '000001'.
579       p_transactions-area = ps_upload-afabe.
580       p_transactions-valuedate = ps_upload-aktiv.
581       p_transactions-assettrtyp = '100'."资产交易类型
582       p_transactions-amount = ps_upload-kansw."资产价值
583       APPEND p_transactions.
584     ENDIF.
585 
586     IF ps_upload-afabe1 IS NOT INITIAL.
587       p_transactions-fisc_year = ps_upload-gjahr.
588       p_transactions-current_no = '000001'.
589       p_transactions-area = ps_upload-afabe1.
590       p_transactions-valuedate = ps_upload-aktiv.
591       p_transactions-assettrtyp = '100'."资产交易类型
592       p_transactions-amount = ps_upload-kansw."资产价值
593       APPEND p_transactions.
594     ENDIF.
595 
596   ENDIF.
597 
598   IF ps_upload-afabe IS NOT INITIAL.
599     p_postedvalues-fisc_year = ps_upload-gjahr.
600     p_postedvalues-area = ps_upload-afabe.
601     p_postedvalues-ord_dep = ps_upload-nafag.
602     APPEND p_postedvalues.
603   ENDIF.
604 
605   IF ps_upload-afabe1 IS NOT INITIAL .
606     p_postedvalues-fisc_year = ps_upload-gjahr.
607     p_postedvalues-area = ps_upload-afabe1.
608     p_postedvalues-ord_dep = ps_upload-nafag1.
609     APPEND p_postedvalues.
610   ENDIF.
611 
612 
613 
614 ENDFORM.