GET PAYROLL 用邏輯資料庫開發HR報表

2021-07-24 11:27:56 字數 1471 閱讀 1944

應用邏輯資料庫的好處不多說了,比如自帶選擇螢幕,自動許可權檢查,節約時間等等,其實我覺得邏輯資料庫好的地方還有那些小地方,比如很容易修改選擇屏、有進度提示等等。

舉個簡單的例項,做乙個list。如果您有過hr開發經驗或者仔細看過hr350這門課,下面就不用看了。

1,在程式屬性裡選擇邏輯資料庫pnp,螢幕有000和900兩個選項,000是主資料的選擇屏,900是薪資結果的選擇屏,如果要帶薪資結果,必須用900的螢幕。

2,儲存後再回來(必須先儲存再回來),有乙個report category,可以進去選擇具體螢幕,這個report category是可配置的。

3,在程式頭宣告薪資結構,nodes與data類似,因為每個國家的薪資表不一樣,所以必須後跟type來指定格式,paycn_result是中國的,payus_result就是美國的。

關於薪資結構,可以在se11中看看paycn_result和payus_result的區別,我的理解是,payxx_result就是一多層次的、 含結構含表的縱深結構,包括三部分evp(頭資訊,扁平結構),inter(內嵌多張國際通用表),nat(內嵌各國自己的表),每個國家的evp和 inter部分結構是完全一樣的,一般開發最常用的是payroll-inter-rt,即結果表。

執行結果

get pernr 本身既是乙個processing block,也是乙個迴圈,容易給人造成誤解的是,get pernr沒有明顯的結束語句,除非到下乙個processing block,get就一直在遍歷每乙個人,填充的是pernr這個扁平結構。

get payroll是在get pernr內部的再迴圈,遍歷同乙個人的多條工資結果,從業務上理解,乙個人有多條薪資結果,一次get payroll只取其中一條,填充的是結構 payroll,用的是paycn_result的結構,這時候pernr結構裡的數值都還在,仍然可以用pernr裡的東西,也可以用 rp_provide_from_last等標準函式。

get pernr late,表示get payroll迴圈結束,回到get pernr的迴圈,此時除非到下乙個processing block或者程式結束,否則仍然在pernr的迴圈裡。但此時get payroll已經結束,payroll結構已經被釋放。

用邏輯資料庫開發HR報表

應用邏輯資料庫的好處不多說了,比如自帶選擇螢幕,自動許可權檢查,節約時間等等,其實我覺得邏輯資料庫好的地方還有那些小地方,比如很容易修改選擇屏 有進度提示等等。舉個簡單的例項,做乙個list。如果您有過hr開發經驗或者仔細看過hr350這門課,下面就不用看了。1,在程式屬性裡選擇邏輯資料庫pnp,螢...

用斷言做邏輯判斷

說明測試環境 測試介面專案 用jmeter做壓測壓測 結論 暫無 說明上個月跳槽到了現在的公司,這裡的架構師推薦的乙個做法讓我新奇又懷疑 用斷言來做業務邏輯的判斷。這位架構師的說法是這樣的 我們的系統有2種異常,系統異常和業務異常。比如登入操作,如果密碼不對,那就是密碼不對異常!斷言拋異常我們一般都...

用 map 表達互斥邏輯

在這個開發周期遇到這樣乙個需求 管理員可以給子賬號配置許可權,有些許可權存在互斥不可同時勾選,比如 審核員和代採 審核和採購員不可同時勾選 之前同事實現的方式如下 這樣每新增乙個互斥關係就要遍歷一次,低效且 繁瑣。審核員和代採 審核和採購員不可同時勾選 if tag isequaltostring ...