日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BADI 构建方法(NEW BADI 实施)

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BADI 构建方法(NEW BADI 实施) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BADI 構建方法(NEW BADI 實施)

介紹

SAP Business Planning and ConsolidationSAP BPC)提供SAP Netweaver版本和Microsoft平臺版本。SAP BPC Netweaver的優勢在于可以使用ABAP(高級業務應用程序編程),即SAP編程語言。

可以使用SAP BAdIBusiness Add Ins)功能將SAP BPC腳本邏輯轉換為ABAPBAdI是對SAP代碼的標準版本的增強。BAdI的性能明顯優于SAP BPC腳本。

本文檔結合了一些提示和技巧,可幫助您為SAP BPC創建BAdI實現。

選擇合適的BAdI

通過事務SE18打開BAdi Builder以顯示所有可用的增強點條目。可以使用與SAP BPC相關的幾個BAdI(例如UJR_WRITE_BACKUJ_CUSTOM_LOGIC),并且可以通過搜索(按F4)找到字符串UJ *來找到。選擇最適合您需求的那個。

1BAdI Builder

?

顯示所選增強點后,右鍵單擊實施并選擇創建BAdI實施或選擇現有實施。

2:創建BAdI實現

?

需要創建幾個對象:

  • 類(例如ZCLASS_BADI_JOURNAL);?根據BAdI實現創建一個新類,
  • 增強實施(例如ZBPC_ELEMENTARYPACK);?一個增強實現可以包含多個BAdI實現,
  • BAdI實現(例如ZBPC_BADI_JOURNAL_C_IFRS_DEV)。一個BAdI實現可以鏈接到一個或多個應用程序。

訪問現有BAdI編碼的另一種方法是通過事務SE80 Object Navigator。輸入所需的類并打開方法以直接更改它。

3:對象導航器

?

過濾BAdI

一旦增強實施可用,您需要過濾BAdI。這保證了代碼僅針對所需的應用程序集和應用程序執行(分別對應于InfoAreaInfoCube)。通過多次單擊創建過濾器組合可以添加多個過濾器組合。

過濾器特定于每個增強點。下面是UJR_WRITE_BACK增強點的示例。

4:過濾BAdI

?

Module_ID可以有多個值:

COMM

評論條目

DM

數據管理器

DOCS

文件修改

JRN

期刊錄入

手動輸入

聲明數據

在方法的開頭,聲明了幾個常量,字段符號等。常量是固定值,例如值AST(帳戶類型資產)。如果必須更改此值,則只需執行一次更改。

CONSTANTS: c_acctype_act TYPE c LENGTH 3 VALUE 'AST', "asset

字段符號和數據引用允許動態訪問數據對象。無需像使用靜態訪問一樣指定對象的名稱,字段符號和數據引用允許您訪問和傳遞在運行時之前您不知道其名稱和屬性的數據對象。

FIELD-SYMBOLS:

????? ?????? TYPE table, "result itab

本文檔中使用的每個自定義對象的聲明在附件中列出。

訪問傳入數據

便于訪問任何維度需要大量編碼,這是由于BAdI實現的抽象性。

以下代碼允許訪問維度帳戶,并且應該針對需要查閱或更新的每個維度重復這些代碼。

"Find the account dimension by its type

LOOP AT it_dim_obj ASSIGNING

????? ?

?? WHERE dim_type = uj00_cs_dim_type-account.

????? lo_account ?=

??????????? -dim_obj.

????? ls_account =

????????????????? .

ENDLOOP.

"preparation: create data structure and assign fields

CREATE DATA lr_data LIKE LINE OF ct_array.

ASSIGN lr_data->* TO

??????????????????????? .

ASSIGN COMPONENT ls_account-dimension OF

STRUCTURE

?????????????????????????????? ?TO

???????????????????????????????????? . "account

對象it_dim_obj包含維度的元數據。您可以找到每個維度及其所有屬性的InfoObject名稱。

5IT_DIM_OBJ的內容

?

6IT_DIM_OBJ1-T_ATTR的內容

?

7LS_ACCOUNT的內容

?

對象uj00_cs_dim_type在全局類型池UJ00中定義。因此,對于其他維度,uj00_cs_dim_type-account可以由uj00_cs_dim_type-entity等替換。

begin of uj00_cs_dim_type,

? account?? type uj_dim_type? value 'A',

? entity??? type uj_dim_type? value 'E',

? time????? type uj_dim_type? value 'T',

? currency? type uj_dim_type? value 'R',

? category? type uj_dim_type? value 'C',

? datasrc?? type uj_dim_type? value 'D',

? intco???? type uj_dim_type? value 'I',

? subtables type uj_dim_type? value 'S',

? user????? type uj_dim_type? value 'U',

? group???? type uj_dim_type? value 'G',

end of uj00_cs_dim_type.

假設需要屬性帳戶類型和帳戶組。使用函數get_attr_list獲取維度的屬性列表。實際成員通過函數read_mbr_data獲取。

"Get attribute AccountType / Account Group

lo_account->get_attr_list( IMPORTING et_attr_list = lt_attr_list ).

LOOP AT lt_attr_list INTO ls_attr_list

????? WHERE attribute_name = ujr0_c_attr_acctype OR

??????????? attribute_name = c_attr_group.

? APPEND ls_attr_list-attribute_name TO lt_attr_name.

ENDLOOP.

?"Get Members of account

?CALL METHOD lo_account->read_mbr_data

??? EXPORTING

????? if_ret_hashtab = abap_true

????? it_attr_list?? = lt_attr_name "columns:attributes name list

?*???? it_hier_list?? = lt_hier_name "columns:hieracies name list

??? IMPORTING

????? er_data??????? = lr_data.

? ASSIGN lr_data->* TO

?????

8LT_ACCOUNT_MBR的內容

?

內部表ct_array是一個生成的對象,它包含來自BPC應用程序的所有記錄。循環使用此表ct_array可以訪問每條記錄。

LOOP AT ct_array INTO .

在第一個循環期間,會創建幾個對象來捕獲新的計算記錄。對象lt_tab?
是在運行時創建的臨時對象,其結構與ct_array相同。然后將lt_tab的結構分配給字段符號所以后者有一個結構,它是一個表。為了能夠使用表的一行,字符符號是類似的創建。可以使用ASSIGN?
COMPONENT?

語句將字段符號分配給一行的單個字段。例如,然后可以通過訪問列帳戶

IF

????? ?IS NOT ASSIGNED.

?CREATE DATA lt_tab LIKE ct_array.

?ASSIGN lt_tab->* TO

??????????? .

?CREATE DATA lr_data_r LIKE LINE OF ct_array.

?ASSIGN lr_data_r->* TO

????????????????? .

?ASSIGN COMPONENT ls_account-dimension OF

???? STRUCTURE

??????????????????????? ?TO

?????????????????????????????? . "account

ENDIF.

接下來,我們搜索包含當前帳戶及其屬性的帳戶成員數據的內部表。這些屬性保存在字段符號中?

"get account members

?READ TABLE

????? ???? WITH TABLE KEY (ujr0_c_member_id) =

??????????? ???? ASSIGNING

????????????????? .

?IF sy-subrc = 0.

???? ASSIGN COMPONENT c_attr_acctype OF

???????? STRUCTURE

??????????????????????? ?TO

?????????????????????????????? .

???? ASSIGN COMPONENT c_attr_group OF

???????? STRUCTURE

???????????????????????????????????? ?TO

?????????????????????????????????????????? .

?

現在可以通過相應的字段符號訪問所有字段。可以使用這些字段符號執行各種計算和操作。

訪問現有數據

當新數據從BPC發送到后端的BW InfoCube時,有時我們需要訪問BW InfoCube中已存在的數據。數據分解就是一個很好的例子。在BPC中,可以在父級別輸入數據,然后可以按比例將這些數據分配給現有數據。這對于實體和時間等維度最有意義。

以下代碼檢索實體的層次結構信息,并且還為時間組件重復。

lo_entity->get_hier_list( IMPORTING et_hier_info = lt_hier_info ).

? LOOP AT lt_hier_info INTO ls_hier_info.

??? APPEND ls_hier_info-hier_name TO lt_hier_name.

? ENDLOOP.

??

數據按比例分解為現有數據。因此,我們需要查找與來自BPC應用程序的數據相對應的現有數據。這是通過啟動RSDRI查詢來實現的,該查詢需要返回要返回的維度列表以及要應用的過濾器列表。第一步是檢索多維數據集元數據。

CLEAR ls_application.

? lo_appl_mgr->get(

??? EXPORTING

???? ?if_with_measures = abap_false????

????? if_summary?????? = abap_false????

??? IMPORTING

????? es_application?? = ls_application ).?

如果處理的行是父級,我們需要讓其子級能夠在子級之后分發數據。必須針對時間維度重復此代碼。

CALL METHOD lo_entity->get_children_mbr

????? EXPORTING

??????? i_parent_mbr???? =

????? ?

??????? i_level????????? = -1

??????? if_only_base_mbr = abap_true?

????? IMPORTING

??????? et_member??????? = lt_ent_children.

??? DESCRIBE TABLE lt_ent_children LINES nr_ent_chil.

我們準備一個范圍來過濾實體基礎成員。必須針對時間維度擴展相同的范圍。

LOOP AT lt_ent_children INTO ls_base_en.

??????? ls_range-dimension = 'COMPANY'.

??????? ls_range-low = ls_base_en.

??????? APPEND ls_range TO lt_range.

????? ENDLOOP.

我們將多維數據集維度保存在列表中并擴展范圍以使用與BPC中相同的限制。

REFRESH lt_dim_list.

????? LOOP AT ls_application-dimensions INTO ls_dimensions.

??????? APPEND ls_dimensions-dimension TO lt_dim_list.

??????? ls_range-dimension = ls_dimensions-dimension.?

??????? ASSIGN COMPONENT ls_dimensions-dimension

? OF STRUCTURE

????? ?TO

??????????? .

??????? ls_range-low =

????????????????? .

??????? APPEND ls_range TO lt_range.

????? ENDLOOP.

我們構建一個結構來捕獲RSDRI查詢的結果

lo_appl_mgr->create_data_ref(

??????? EXPORTING

????????? i_data_type?? = 'T'

????????? it_dim_name?? = lt_dim_list

????????? if_tech_name? = abap_false

????????? if_signeddata = abap_true

??????? IMPORTING

????????? er_data?????? = lr_data ).

????? ASSIGN lr_data->* TO

????? .

現在我們可以執行RSDRI查詢,該查詢從SAP BW InfoCube檢索所需日期并將其存儲在字段符號中

TRY.

????????? lo_query = cl_ujo_query_factory=>get_query_adapter(

????????????? i_appset_id = lv_environment_id

????????????? i_appl_id?? = lv_application_id ).

????????? lo_query->run_rsdri_query(

??????????? EXPORTING

????????????? it_dim_name?????? = lt_dim_list???

????????????? it_range????????? = lt_range??????

?? ???????????if_check_security = abap_false????

???????????? IMPORTING

?????????????? et_data?????????? =

????? ?????????????? et_message??????? = lt_message???

??????????? ).

??????? CATCH cx_ujo_read.??

????? ENDTRY.

測試你的申請

為了調試ABAP編碼,設置外部斷點并(un)發布測試日志。選擇要開始調試的代碼行,然后單擊工具欄中的紅色按鈕設置/刪除外部斷點(Ctrl + Shift + F9)。請注意,所選行前面會出現一個圖標。現在,您可以使用相同的SAP用戶(聯合國)發布測試日志,然后您應該輸入調試器。現在,您逐步執行代碼并檢查所有字段的內容。

9:在類構建器中進行調試

?

結論

SAP BPC Netweaver可以使用SAP編程語言ABAPBAdI是對SAP代碼的標準版本的增強。BAdI的性能明顯優于SAP BPC腳本。這些功能實現了無限的可能性。

附件

本附件包含此見解中包含的所有字段的ABAP聲明。

DATA:

??????? ls_record_r????? TYPE? REF TO data,

??????? lt_attr_list???? TYPE uja_t_attr, "Attributes info

??????? ls_attr_list???? TYPE uja_s_attr,

??????? lt_attr_name???? TYPE uja_t_attr_name, "Attribute names

??????? lr_data????????? TYPE REF TO data,

??????? lt_tab?????????? TYPE REF TO data,

??????? ls_account?????? TYPE ujr_s_dim_handler, "account

??????? lo_account?????? TYPE REF TO if_uja_dim_data.

?

? FIELD-SYMBOLS:

????? TYPE ujr_s_dim_handler,

????? TYPE HASHED TABLE, "All account members

????? TYPE any,?

????? TYPE uj_dim_member, "account member of current rec???????

????? TYPE any, "account group

????? TYPE any, "account type

????? TYPE table, "result itab

????? TYPE any, "result record

????? TYPE uj_dim_member,"account member of result rec

TYPE any, "attr GROUP of result record

BADI 構建方法(NEW BADI 實施)

介紹

SAP Business Planning and ConsolidationSAP BPC)提供SAP Netweaver版本和Microsoft平臺版本。SAP BPC Netweaver的優勢在于可以使用ABAP(高級業務應用程序編程),即SAP編程語言。

可以使用SAP BAdIBusiness Add Ins)功能將SAP BPC腳本邏輯轉換為ABAPBAdI是對SAP代碼的標準版本的增強。BAdI的性能明顯優于SAP BPC腳本。

本文檔結合了一些提示和技巧,可幫助您為SAP BPC創建BAdI實現。

選擇合適的BAdI

通過事務SE18打開BAdi Builder以顯示所有可用的增強點條目。可以使用與SAP BPC相關的幾個BAdI(例如UJR_WRITE_BACKUJ_CUSTOM_LOGIC),并且可以通過搜索(按F4)找到字符串UJ *來找到。選擇最適合您需求的那個。

1BAdI Builder

?

顯示所選增強點后,右鍵單擊實施并選擇創建BAdI實施或選擇現有實施。

2:創建BAdI實現

?

需要創建幾個對象:

  • 類(例如ZCLASS_BADI_JOURNAL);?根據BAdI實現創建一個新類,
  • 增強實施(例如ZBPC_ELEMENTARYPACK);?一個增強實現可以包含多個BAdI實現,
  • BAdI實現(例如ZBPC_BADI_JOURNAL_C_IFRS_DEV)。一個BAdI實現可以鏈接到一個或多個應用程序。

訪問現有BAdI編碼的另一種方法是通過事務SE80 Object Navigator。輸入所需的類并打開方法以直接更改它。

3:對象導航器

?

過濾BAdI

一旦增強實施可用,您需要過濾BAdI。這保證了代碼僅針對所需的應用程序集和應用程序執行(分別對應于InfoAreaInfoCube)。通過多次單擊創建過濾器組合可以添加多個過濾器組合。

過濾器特定于每個增強點。下面是UJR_WRITE_BACK增強點的示例。

4:過濾BAdI

?

Module_ID可以有多個值:

COMM

評論條目

DM

數據管理器

DOCS

文件修改

JRN

期刊錄入

手動輸入

聲明數據

在方法的開頭,聲明了幾個常量,字段符號等。常量是固定值,例如值AST(帳戶類型資產)。如果必須更改此值,則只需執行一次更改。

CONSTANTS: c_acctype_act TYPE c LENGTH 3 VALUE 'AST', "asset

字段符號和數據引用允許動態訪問數據對象。無需像使用靜態訪問一樣指定對象的名稱,字段符號和數據引用允許您訪問和傳遞在運行時之前您不知道其名稱和屬性的數據對象。

FIELD-SYMBOLS:

????? ?????? TYPE table, "result itab

本文檔中使用的每個自定義對象的聲明在附件中列出。

訪問傳入數據

便于訪問任何維度需要大量編碼,這是由于BAdI實現的抽象性。

以下代碼允許訪問維度帳戶,并且應該針對需要查閱或更新的每個維度重復這些代碼。

"Find the account dimension by its type

LOOP AT it_dim_obj ASSIGNING

????? ?

?? WHERE dim_type = uj00_cs_dim_type-account.

????? lo_account ?=

??????????? -dim_obj.

????? ls_account =

????????????????? .

ENDLOOP.

"preparation: create data structure and assign fields

CREATE DATA lr_data LIKE LINE OF ct_array.

ASSIGN lr_data->* TO

??????????????????????? .

ASSIGN COMPONENT ls_account-dimension OF

STRUCTURE

?????????????????????????????? ?TO

???????????????????????????????????? . "account

對象it_dim_obj包含維度的元數據。您可以找到每個維度及其所有屬性的InfoObject名稱。

5IT_DIM_OBJ的內容

?

6IT_DIM_OBJ1-T_ATTR的內容

?

7LS_ACCOUNT的內容

?

對象uj00_cs_dim_type在全局類型池UJ00中定義。因此,對于其他維度,uj00_cs_dim_type-account可以由uj00_cs_dim_type-entity等替換。

begin of uj00_cs_dim_type,

? account?? type uj_dim_type? value 'A',

? entity??? type uj_dim_type? value 'E',

? time????? type uj_dim_type? value 'T',

? currency? type uj_dim_type? value 'R',

? category? type uj_dim_type? value 'C',

? datasrc?? type uj_dim_type? value 'D',

? intco???? type uj_dim_type? value 'I',

? subtables type uj_dim_type? value 'S',

? user????? type uj_dim_type? value 'U',

? group???? type uj_dim_type? value 'G',

end of uj00_cs_dim_type.

假設需要屬性帳戶類型和帳戶組。使用函數get_attr_list獲取維度的屬性列表。實際成員通過函數read_mbr_data獲取。

"Get attribute AccountType / Account Group

lo_account->get_attr_list( IMPORTING et_attr_list = lt_attr_list ).

LOOP AT lt_attr_list INTO ls_attr_list

????? WHERE attribute_name = ujr0_c_attr_acctype OR

??????????? attribute_name = c_attr_group.

? APPEND ls_attr_list-attribute_name TO lt_attr_name.

ENDLOOP.

?"Get Members of account

?CALL METHOD lo_account->read_mbr_data

??? EXPORTING

????? if_ret_hashtab = abap_true

????? it_attr_list?? = lt_attr_name "columns:attributes name list

?*???? it_hier_list?? = lt_hier_name "columns:hieracies name list

??? IMPORTING

????? er_data??????? = lr_data.

? ASSIGN lr_data->* TO

?????

8LT_ACCOUNT_MBR的內容

?

內部表ct_array是一個生成的對象,它包含來自BPC應用程序的所有記錄。循環使用此表ct_array可以訪問每條記錄。

LOOP AT ct_array INTO .

在第一個循環期間,會創建幾個對象來捕獲新的計算記錄。對象lt_tab?
是在運行時創建的臨時對象,其結構與ct_array相同。然后將lt_tab的結構分配給字段符號所以后者有一個結構,它是一個表。為了能夠使用表的一行,字符符號是類似的創建。可以使用ASSIGN?
COMPONENT?

語句將字段符號分配給一行的單個字段。例如,然后可以通過訪問列帳戶

IF

????? ?IS NOT ASSIGNED.

?CREATE DATA lt_tab LIKE ct_array.

?ASSIGN lt_tab->* TO

??????????? .

?CREATE DATA lr_data_r LIKE LINE OF ct_array.

?ASSIGN lr_data_r->* TO

????????????????? .

?ASSIGN COMPONENT ls_account-dimension OF

???? STRUCTURE

??????????????????????? ?TO

?????????????????????????????? . "account

ENDIF.

接下來,我們搜索包含當前帳戶及其屬性的帳戶成員數據的內部表。這些屬性保存在字段符號中?

"get account members

?READ TABLE

????? ???? WITH TABLE KEY (ujr0_c_member_id) =

??????????? ???? ASSIGNING

????????????????? .

?IF sy-subrc = 0.

???? ASSIGN COMPONENT c_attr_acctype OF

???????? STRUCTURE

??????????????????????? ?TO

?????????????????????????????? .

???? ASSIGN COMPONENT c_attr_group OF

???????? STRUCTURE

???????????????????????????????????? ?TO

?????????????????????????????????????????? .

?

現在可以通過相應的字段符號訪問所有字段。可以使用這些字段符號執行各種計算和操作。

訪問現有數據

當新數據從BPC發送到后端的BW InfoCube時,有時我們需要訪問BW InfoCube中已存在的數據。數據分解就是一個很好的例子。在BPC中,可以在父級別輸入數據,然后可以按比例將這些數據分配給現有數據。這對于實體和時間等維度最有意義。

以下代碼檢索實體的層次結構信息,并且還為時間組件重復。

lo_entity->get_hier_list( IMPORTING et_hier_info = lt_hier_info ).

? LOOP AT lt_hier_info INTO ls_hier_info.

??? APPEND ls_hier_info-hier_name TO lt_hier_name.

? ENDLOOP.

??

數據按比例分解為現有數據。因此,我們需要查找與來自BPC應用程序的數據相對應的現有數據。這是通過啟動RSDRI查詢來實現的,該查詢需要返回要返回的維度列表以及要應用的過濾器列表。第一步是檢索多維數據集元數據。

CLEAR ls_application.

? lo_appl_mgr->get(

??? EXPORTING

???? ?if_with_measures = abap_false????

????? if_summary?????? = abap_false????

??? IMPORTING

????? es_application?? = ls_application ).?

如果處理的行是父級,我們需要讓其子級能夠在子級之后分發數據。必須針對時間維度重復此代碼。

CALL METHOD lo_entity->get_children_mbr

????? EXPORTING

??????? i_parent_mbr???? =

????? ?

??????? i_level????????? = -1

??????? if_only_base_mbr = abap_true?

????? IMPORTING

??????? et_member??????? = lt_ent_children.

??? DESCRIBE TABLE lt_ent_children LINES nr_ent_chil.

我們準備一個范圍來過濾實體基礎成員。必須針對時間維度擴展相同的范圍。

LOOP AT lt_ent_children INTO ls_base_en.

??????? ls_range-dimension = 'COMPANY'.

??????? ls_range-low = ls_base_en.

??????? APPEND ls_range TO lt_range.

????? ENDLOOP.

我們將多維數據集維度保存在列表中并擴展范圍以使用與BPC中相同的限制。

REFRESH lt_dim_list.

????? LOOP AT ls_application-dimensions INTO ls_dimensions.

??????? APPEND ls_dimensions-dimension TO lt_dim_list.

??????? ls_range-dimension = ls_dimensions-dimension.?

??????? ASSIGN COMPONENT ls_dimensions-dimension

? OF STRUCTURE

????? ?TO

??????????? .

??????? ls_range-low =

????????????????? .

??????? APPEND ls_range TO lt_range.

????? ENDLOOP.

我們構建一個結構來捕獲RSDRI查詢的結果

lo_appl_mgr->create_data_ref(

??????? EXPORTING

????????? i_data_type?? = 'T'

????????? it_dim_name?? = lt_dim_list

????????? if_tech_name? = abap_false

????????? if_signeddata = abap_true

??????? IMPORTING

????????? er_data?????? = lr_data ).

????? ASSIGN lr_data->* TO

????? .

現在我們可以執行RSDRI查詢,該查詢從SAP BW InfoCube檢索所需日期并將其存儲在字段符號中

TRY.

????????? lo_query = cl_ujo_query_factory=>get_query_adapter(

????????????? i_appset_id = lv_environment_id

????????????? i_appl_id?? = lv_application_id ).

????????? lo_query->run_rsdri_query(

??????????? EXPORTING

????????????? it_dim_name?????? = lt_dim_list???

????????????? it_range????????? = lt_range??????

?? ???????????if_check_security = abap_false????

???????????? IMPORTING

?????????????? et_data?????????? =

????? ?????????????? et_message??????? = lt_message???

??????????? ).

??????? CATCH cx_ujo_read.??

????? ENDTRY.

測試你的申請

為了調試ABAP編碼,設置外部斷點并(un)發布測試日志。選擇要開始調試的代碼行,然后單擊工具欄中的紅色按鈕設置/刪除外部斷點(Ctrl + Shift + F9)。請注意,所選行前面會出現一個圖標。現在,您可以使用相同的SAP用戶(聯合國)發布測試日志,然后您應該輸入調試器。現在,您逐步執行代碼并檢查所有字段的內容。

9:在類構建器中進行調試

?

結論

SAP BPC Netweaver可以使用SAP編程語言ABAPBAdI是對SAP代碼的標準版本的增強。BAdI的性能明顯優于SAP BPC腳本。這些功能實現了無限的可能性。

附件

本附件包含此見解中包含的所有字段的ABAP聲明。

DATA:

??????? ls_record_r????? TYPE? REF TO data,

??????? lt_attr_list???? TYPE uja_t_attr, "Attributes info

??????? ls_attr_list???? TYPE uja_s_attr,

??????? lt_attr_name???? TYPE uja_t_attr_name, "Attribute names

??????? lr_data????????? TYPE REF TO data,

??????? lt_tab?????????? TYPE REF TO data,

??????? ls_account?????? TYPE ujr_s_dim_handler, "account

??????? lo_account?????? TYPE REF TO if_uja_dim_data.

?

? FIELD-SYMBOLS:

????? TYPE ujr_s_dim_handler,

????? TYPE HASHED TABLE, "All account members

????? TYPE any,?

????? TYPE uj_dim_member, "account member of current rec???????

????? TYPE any, "account group

????? TYPE any, "account type

????? TYPE table, "result itab

????? TYPE any, "result record

????? TYPE uj_dim_member,"account member of result rec

TYPE any, "attr GROUP of result record

?

總結

以上是生活随笔為你收集整理的BADI 构建方法(NEW BADI 实施)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。