MM模組採購相關報表取數

2021-08-02 13:57:19 字數 3673 閱讀 8036

一、相關表

eban:採購申請表

ebkn:採購申請帳戶資訊(涉及一些成本中心、科目、固定資產號)

ekko:採購訂單主表(包括採購憑證型別,審批標識,刪除標記、採購組織、**商編碼)

ekpo:採購訂單明細表

ekbe:採購歷史記錄(包括收貨行記錄、發票記錄)

ekkn:採購憑證中的帳戶資訊。

konv:採購訂單行條件

stxl:文字表

eket:交貨記錄行(分批次交貨的記錄)

lfa1:**商文字

ebkn:採購申請

cdhdr:更改憑證抬頭

cdpos:更改憑證專案(採購申請審批時會記錄更改日期及時間)

t006a:單位描述

1、採購申請審批記錄

select cdpos~changenr cdpos~objectid cdpos~tabkey

into corresponding fields 

of table  itabnew

from cdpos

where   cdpos~objectclas = 

'banf'

and  cdpos~fname = 

'frgkz' 

and  cdpos~chngind = 

'u'and  

( cdpos~value_new = 

'b' 

or  cdpos~value_new = 

'2'  

) and cdpos~objectid in s_banfn. "b和2代表一級審批或二級審批標識。

select   udate objectid  changenr   into corresponding fields 

of table itabnew3

from cdhdr

for 

all entries in  itabnew4

where changenr = itabnew4-changenr and objectid = itabnew4-objectid and 

( udate >= s_frgdt-low and udate <= s_frgdt-high ) 

.2、取採購員中文名稱

data

: l_department  type ad_dprtmnt,

l_addrnumber  type ad_addrnum,

l_persnumber  type ad_persnum,

l_uname       type sy-uname,

l_name_first  type ad_namefir,

e_uname type sy-uname,

l_name_last   type ad_namelas.

select 

single persnumber addrnumber into

(l_persnumber, l_addrnumber)

from usr21

where bname = alv_reqpotab1-ernam.

if sy-subrc = 0.

select 

single name_first name_last into 

(l_name_first,l_name_last)

from adrp

where persnumber = l_persnumber.

if sy-subrc = 0.

concatenate l_name_last  l_name_first into e_uname.

condense e_uname no

-gaps.

alv_reqpotab1-username = e_uname.

endif

.endif.

3.採購訂單行專案備註:

concatenate itab_struct1-ebeln itab_struct1-ebelp into ebelnkp.

select * from stxl

into corresponding fields 

of table itb_s18

where tdobject = 

'ekpo'

and   tdname = ebelnkp.

clear text1.

loop 

at itb_s18.

clear text1.

call 

function 

'read_text'

exporting

client                        

= sy-mandt

id                            

= 『f01』

language                      

= sy-langu

name                          = fname

object                        = 'ekpo'

*     archive_handle                = 0

*     local_cat                     = ' '

*   importing

*     header                        =

tables

lines                         

= flines

exceptions

id                            = 1

language                      = 2

name                          = 

3not_found                     = 

4object                        = 

5reference_check               = 

6wrong_access_to_archive       = 

7others                        = 8

.if sy-subrc <> 0

.*   message id sy-msgid type sy-msgty number sy-msgno

*           with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif

.loop 

at flines.

concatenate text1 flines-tdline into text1 .

endloop

.endloop

.*      message text1 type 'i'.

itab_struct1-itemtext = text1.

4.**商編碼消除前置零

call 

function 

'conversion_exit_alpha_output'

exporting

input  

= alv_tab-lifnr

importing

output 

= alv_tab-lifnr.

潤幹報表 5 報表組跨表取數

需求場景 a 報項中 2 個單元格 a1 和 b1,客戶想在輸入這兩個值以後,報表組的 b 報表項能夠直接得到這個 a1 b1 值。也可能在 a 報表項輸入乙個值以後,b 報表項某乙個單元格自動應用 a 中的某個單元格值。ps 例項中 sheet1 代表 a,sheet2 代表 b.解決方案 關於跨...

如何提高報表的取數效能

報表在展現或匯出時往往需要從資料庫中取出大量資料,而 jdbc 的取數速度一向比較慢,有可能成為報表各運算環節的短板或瓶頸,從而嚴重影響整個報表的生成效率。針對這一問題,潤幹報表可以利用平行計算機制 需要結合集算器實現 來顯著提高 jdbc 的取數效能。所謂並行取數是指,使用多執行緒技術在報表工具與...

如何提高報表的取數效能

報表在展現或匯出時往往需要從資料庫中取出大量資料,而 jdbc 的取數速度一向比較慢,有可能成為報表各運算環節的短板或瓶頸,從而嚴重影響整個報表的生成效率。針對這一問題,潤幹報表可以利用平行計算機制 需要結合集算器實現 來顯著提高 jdbc 的取數效能。所謂並行取數是指,使用多執行緒技術在報表工具與...