在sap中是没有标准的应收账龄报表的,要实现这个功能可以使用下面三种方法:
1:利用BW手段完成该功能
2:运用ABAP技术实现该功能
3:也可以利用外部的语言直接捞数据库
当然作为一名ABAPer只好选择方法2咯。
通过前面课程的学习,对这个功能的实现了充分的准备了,选择是ScriptForm。
所以先在se71建立(有不熟悉的童鞋可以先学习ScriptForm的系列课程)
1基本设置数据
2.字符格式
3.段落格式
4.页面,窗口设置
4.1Main 窗口
4.2BILLTO窗口
4.3 COMPANY窗口
4.4 FOOTER窗口
5.接下来就要到se38 写代码啦
- *&---------------------------------------------------------------------*
- *& Report ZFI001
- *&---------------------------------------------------------------------*
- * Author : Jasson.Lee
- * Date : 2011.04.23
- * Purpose :
- * Modi Log: 2011.07.16 Gavin 加 按InvoiceNo排序/ 客户地址过长/多币别
- *----------------------------------------------------------------------
- report zfi001.
- tables: bsad,bsid,kna1,knb1,tnapr.
- *--------------------------------
- * Selection Screen
- *--------------------------------
- selection-screen begin of block b1 with frame title text-001.
- select-options:
- s_kunnr for kna1-kunnr. "CustomerNo
- parameters:
- p_bukrs like knb1-bukrs obligatory default 3000. "Company Code
- selection-screen end of block b1.
- * For Line Items
- selection-screen begin of block b2 with frame title text-002.
- *Open Items
- parameters: rb_open radiobutton group bc default 'X',
- p_kdate like bsad-budat default sy-datum.
- selection-screen skip.
- *Cleared Items
- parameters: rb_close radiobutton group bc.
- select-options:s_augdt for bsad-augdt.
- parameters: p_odate like bsad-budat.
- selection-screen skip.
- *All Items
- *PARAMETERS: RB_ALL RADIOBUTTON GROUP BC.
- *SELECT-OPTIONS:S_BUDAT FOR BSAD-BUDAT.
- *SELECTION-SCREEN SKIP.
- selection-screen end of block b2.
- data:begin of t_bsad occurs 0.
- data:price1 type p decimals 2,
- price2 type p decimals 2,
- price3 type p decimals 2,
- price4 type p decimals 2,
- price5 type p decimals 2,
- pswbt1 type p decimals 2.
- include structure bsad.
- data:end of t_bsad.
- data:begin of t_bsad1 occurs 0.
- include structure t_bsad.
- data:end of t_bsad1.
- data:begin of t_bsad2 occurs 0,
- kunnr like kna1-kunnr,
- end of t_bsad2.
- data:begin of t_bsid occurs 0.
- data:price1 type p decimals 2,
- price2 type p decimals 2,
- price3 type p decimals 2,
- price4 type p decimals 2,
- price5 type p decimals 2,
- pswbt1 type p decimals 2.
- include structure bsid.
- data:end of t_bsid.
- data:begin of t_kna1 occurs 0,
- kunnr like kna1-kunnr,
- name1 like adrc-name1,
- city1 like adrc-city1,
- pcode like adrc-post_code1,
- street like adrc-street,
- str_suppl3 like adrc-str_suppl3,
- location like adrc-location,
- landx like t005t-landx,
- end of t_kna1.
- data:begin of t_sum occurs 0,
- kunnr like bsad-kunnr,
- bukrs like bsad-bukrs,
- pswsl like bsad-pswsl,
- psum type p decimals 2,
- psum1 type p decimals 2,
- psum2 type p decimals 2,
- psum3 type p decimals 2,
- psum4 type p decimals 2,
- psum5 type p decimals 2,
- end of t_sum.
- data:begin of t_sum0 occurs 0.
- include structure t_sum.
- data:end of t_sum0.
- data :w_loop like sy-tabix.
- data :p_coco like knb1-bukrs.
- data :w_total(10) type c.
- data :w_loop1 like sy-tabix.
- data :w_loop2 like sy-tabix.
- data :w_loop3 like sy-tabix.
- data :rcount like sy-tabix.
- *--------------------------------
- * Initialization
- *--------------------------------
- initialization.
- *--------------------------------
- * At Selection Screen PBO
- *--------------------------------
- at selection-screen output.
- *--------------------------------
- * Start of Selection
- *--------------------------------
- start-of-selection.
- perform get_data.
- perform get_custome