SAP_ABAP_BDC录屏案例
SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型
https://blog.csdn.net/java_zhong1990/article/details/132469977
一、实施步骤
1.1 SHDB
SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数

1.2 新建记录
SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数

1.3 输入录制的tcode :BP
SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数

1.4 执行录屏操作
SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数
该活动与前台操作区别不大

1.5 录制结果封装成函数
SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数

1.5.1 ZFM_BP3 - 修改公司代码视图
FUNCTION ZFM_BP3.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X'
*" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N'
*" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L'
*" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL
*" VALUE(USER) LIKE APQI-USERID OPTIONAL
*" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL
*" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL
*" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/'
*" VALUE(SEARCH_TYPE_001) LIKE BDCDATA-FVAL DEFAULT '1'
*" VALUE(SEARCH_ID_002) LIKE BDCDATA-FVAL DEFAULT '8'
*" VALUE(MAXHIT_003) LIKE BDCDATA-FVAL DEFAULT '100'
*" VALUE(OPEN_NUMBER_004) LIKE BDCDATA-FVAL DEFAULT '100180'
*" VALUE(PARTNER_ROLE_005) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_006) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_007) LIKE BDCDATA-FVAL DEFAULT '000000'
*" VALUE(PARTNER_TIMEDEP_008) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_009) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_010) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_011) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_012) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_013) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_014) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_015) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_016) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(BUKRS_017) LIKE BDCDATA-FVAL DEFAULT '2010'
*" VALUE(PARTNER_ROLE_018) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_019) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_020) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_021) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_022) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_023) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(ZTERM_024) LIKE BDCDATA-FVAL DEFAULT '0055'
*" VALUE(ZWELS_025) LIKE BDCDATA-FVAL DEFAULT 'D'
*" VALUE(PARTNER_ROLE_026) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_027) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(ZTERM_028) LIKE BDCDATA-FVAL DEFAULT '0055'
*" VALUE(ZWELS_029) LIKE BDCDATA-FVAL DEFAULT 'D'
*" EXPORTING
*" VALUE(SUBRC) LIKE SYST-SUBRC
*" TABLES
*" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL
*"----------------------------------------------------------------------subrc = 0.perform bdc_nodata using NODATA.perform open_group using GROUP USER KEEP HOLDDATE CTU.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_OPEN'.
perform bdc_field using 'BDC_CURSOR''BUS_LOCA_SRCH01-SEARCH_ID'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'SEARCH_TYPE_001.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'SEARCH_ID_002.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'MAXHIT_003.
perform bdc_dynpro using 'SAPLBUPA_DIALOG_JOEL' '1600'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.
perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-OPEN_NUMBER'.
perform bdc_field using 'BUS_JOEL_MAIN-OPEN_NUMBER'OPEN_NUMBER_004.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.
perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_005.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_006.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.
perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_007.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_008.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.
perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_009.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_010.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_MAIN_P02'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_011.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_012.
perform bdc_field using 'BDC_CURSOR''BUS000FLDS-TITLE_MEDI'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=FSBP_CC_SWITCH'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_013.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_014.perform bdc_field using 'BDC_CURSOR''BS001-BUKRS'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_015.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_016.
perform bdc_field using 'BDC_CURSOR''BS001-BUKRS'.
perform bdc_field using 'BS001-BUKRS'BUKRS_017.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1100_TAB_02'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_018.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_019.
perform bdc_field using 'BDC_CURSOR''BS001-BUKRS'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_ACTIVITY'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_020.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_021.
perform bdc_field using 'BDC_CURSOR''BS001-BUKRS'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_022.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_023.
perform bdc_field using 'BDC_CURSOR''GS_LFB1-ZTERM'.
perform bdc_field using 'GS_LFB1-ZTERM'ZTERM_024.
perform bdc_field using 'GS_LFB1-ZWELS'ZWELS_025.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_SAVE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_026.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_027.
perform bdc_field using 'BDC_CURSOR''GS_LFB1-ZTERM'.
perform bdc_field using 'GS_LFB1-ZTERM'ZTERM_028.
perform bdc_field using 'GS_LFB1-ZWELS'ZWELS_029.
perform bdc_transaction tables messtab
using 'BP'CTUMODEUPDATE.
if sy-subrc <> 0.subrc = sy-subrc.exit.
endif.perform close_group using CTU.ENDFUNCTION.
1.5.2 ZFM_BP4 - 修改采购视图
FUNCTION ZFM_BP4.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X'
*" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N'
*" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L'
*" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL
*" VALUE(USER) LIKE APQI-USERID OPTIONAL
*" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL
*" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL
*" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/'
*" VALUE(SEARCH_TYPE_001) LIKE BDCDATA-FVAL DEFAULT '1'
*" VALUE(SEARCH_ID_002) LIKE BDCDATA-FVAL DEFAULT '8'
*" VALUE(MAXHIT_003) LIKE BDCDATA-FVAL DEFAULT '100'
*" VALUE(OPEN_NUMBER_004) LIKE BDCDATA-FVAL DEFAULT '100180'
*" VALUE(PARTNER_ROLE_005) LIKE BDCDATA-FVAL DEFAULT 'FLVN00'
*" VALUE(PARTNER_TIMEDEP_006) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_007) LIKE BDCDATA-FVAL DEFAULT '000000'
*" VALUE(PARTNER_TIMEDEP_008) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_009) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_010) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_011) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_012) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_013) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_014) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_015) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_016) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(GV_PURCHASING_ORG_017) LIKE BDCDATA-FVAL DEFAULT '2010'
*" VALUE(PARTNER_ROLE_018) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_019) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_020) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_021) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_022) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_023) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(PARTNER_ROLE_024) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_025) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(WAERS_026) LIKE BDCDATA-FVAL DEFAULT 'CNY'
*" VALUE(ZTERM_027) LIKE BDCDATA-FVAL DEFAULT '0050'
*" VALUE(LFABC_028) LIKE BDCDATA-FVAL DEFAULT 'A'
*" VALUE(WEBRE_029) LIKE BDCDATA-FVAL DEFAULT 'X'
*" VALUE(PARTNER_ROLE_030) LIKE BDCDATA-FVAL DEFAULT 'FLVN01'
*" VALUE(PARTNER_TIMEDEP_031) LIKE BDCDATA-FVAL DEFAULT '000001'
*" VALUE(WAERS_032) LIKE BDCDATA-FVAL DEFAULT 'CNY'
*" VALUE(ZTERM_033) LIKE BDCDATA-FVAL DEFAULT '0050'
*" VALUE(LFABC_034) LIKE BDCDATA-FVAL DEFAULT 'A'
*" VALUE(WEBRE_035) LIKE BDCDATA-FVAL DEFAULT 'X'
*" EXPORTING
*" VALUE(SUBRC) LIKE SYST-SUBRC
*" TABLES
*" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL
*"----------------------------------------------------------------------subrc = 0.perform bdc_nodata using NODATA.perform open_group using GROUP USER KEEP HOLDDATE CTU.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_OPEN'.perform bdc_field using 'BDC_CURSOR''BUS_LOCA_SRCH01-SEARCH_ID'.perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'SEARCH_TYPE_001.perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'SEARCH_ID_002.perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'MAXHIT_003.perform bdc_dynpro using 'SAPLBUPA_DIALOG_JOEL' '1600'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-OPEN_NUMBER'.perform bdc_field using 'BUS_JOEL_MAIN-OPEN_NUMBER'OPEN_NUMBER_004.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_005.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_006.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_007.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_008.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=SCREEN_1110_CHG_ROLE'.perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_009.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_010.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_MAIN_P02'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_011.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_012.perform bdc_field using 'BDC_CURSOR''BUS000FLDS-TITLE_MEDI'.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=CVIV_PORGSWITCH'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_013.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_014.*perform bdc_field using 'BDC_CURSOR'
* 'GS_LFM1-WAERS'.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_015.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_016.perform bdc_field using 'BDC_CURSOR''GV_PURCHASING_ORG'.perform bdc_field using 'GV_PURCHASING_ORG'GV_PURCHASING_ORG_017.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=SCREEN_1100_TAB_06'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_018.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_019.perform bdc_field using 'BDC_CURSOR''GV_PURCHASING_ORG'.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1100_TAB_01'.
perform bdc_field using 'BDC_CURSOR''BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_020.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_021.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=SCREEN_1000_ACTIVITY'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_022.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_023.
perform bdc_field using 'BDC_CURSOR''GV_PURCHASING_ORG'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_ENTER'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_024.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_025.*perform bdc_field using 'GS_LFM1-WAERS'
* WAERS_026.perform bdc_field using 'BDC_CURSOR''GS_LFM1-ZTERM'.perform bdc_field using 'GS_LFM1-ZTERM'ZTERM_027.*perform bdc_field using 'GS_LFM1-LFABC'
* LFABC_028.
*perform bdc_field using 'GS_LFM1-WEBRE'
* WEBRE_029.perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.perform bdc_field using 'BDC_OKCODE''=BUS_MAIN_SAVE'.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE'PARTNER_ROLE_030.perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'PARTNER_TIMEDEP_031.*perform bdc_field using 'GS_LFM1-WAERS'
* WAERS_032.perform bdc_field using 'BDC_CURSOR''GS_LFM1-ZTERM'.perform bdc_field using 'GS_LFM1-ZTERM'ZTERM_033.*perform bdc_field using 'GS_LFM1-LFABC'
* LFABC_034.
*perform bdc_field using 'GS_LFM1-WEBRE'
* WEBRE_035.perform bdc_transaction tables messtab
using 'BP'CTUMODEUPDATE.
if sy-subrc <> 0.subrc = sy-subrc.exit.
endif.perform close_group using CTU.ENDFUNCTION.
1.6 屏幕设置
1.6.1 注意设置,屏幕默认为显示
1.6.1 要反复选择 【按业务伙伴角色】,目的是让功能键显示出来。
1.6.3 可以注释掉,一些无用的录屏
二、BDC的概念
2.1 BDC的一些关键信息
SAP BDC(Batch Data Communication)是一种用于在SAP系统中批量处理数据的技术。它通常用于自动化数据输入和数据更新任务,特别是在SAP的传统用户界面(SAP GUI)中执行事务。以下是关于SAP BDC的一些关键信息:
-
数据批处理:SAP BDC旨在处理大量数据,通常用于批处理任务。它允许您将数据从外部系统或文件导入到SAP系统中,或者将数据从SAP系统导出到外部系统或文件。
-
两种类型的BDC:SAP BDC有两种主要类型:经典BDC和数据转换BDC。经典BDC用于模拟用户在SAP GUI中手动输入数据的行为,而数据转换BDC用于直接更新数据库,绕过了用户界面。
-
录制和重放:经典BDC的一种常见方法是通过录制用户在SAP GUI中执行的事务,然后重放录制的操作以处理相似的数据。这样可以节省时间和减少错误。
-
事务代码:在SAP BDC中,您需要指定要使用的SAP事务代码。这是一个SAP事务的标识符,它告诉系统要执行哪个事务。
-
数据转换BDC:数据转换BDC允许您通过直接操作数据库表来处理数据。这对于大量数据的快速导入和更新非常有用,但需要谨慎使用,以确保数据完整性和一致性。
-
BDC Session:在SAP BDC中,数据通常会被分组成"会话"(session),然后由系统依次处理。会话包含了数据的输入、校验和提交步骤。
-
错误处理:BDC允许您处理数据输入中的错误。如果在处理过程中出现错误,您可以配置BDC以捕获错误并采取适当的措施,如记录错误日志或停止处理。
-
安全性和权限:在使用BDC时,请确保具备足够的权限来执行相关事务代码和数据更新,以避免潜在的安全问题。
三 BDC使用注意实现
3.1 关键的注意事项
在使用SAP BDC(Batch Data Communication)进行数据处理时,有一些重要的注意事项和最佳实践需要考虑,以确保数据的准确性、完整性和安全性。以下是一些关键的注意事项:
- 数据质量和准备:在执行BDC之前,确保要导入或更新的数据质量高,数据格式正确,且数据已经过充分的验证和清洗。
- 在BDC之前,进行数据备份,以防止数据丢失或错误。
- 事务代码和流程:仔细选择要使用的SAP事务代码,并确保它们具有正确的权限设置。
- 确保了解SAP系统中执行的具体事务的工作流程,以避免不必要的错误或中断。
- 错误处理和回滚:实施适当的错误处理机制,以便在发生错误时及时捕获和记录错误信息。
- 考虑实现事务的回滚机制,以便在错误发生时撤销之前的更改,以保持数据一致性。
- 事务提交:确保在每个BDC会话之后执行事务提交,以确保数据更改得以保存。
- 考虑使用合适的提交点,以避免在大批量处理中出现性能问题。
- 权限和安全性:确保执行BDC的用户具备足够的权限来执行相关的事务代码和数据更新操作。
- 考虑数据敏感性,确保只有经过授权的用户能够访问和处理敏感数据。
- 监控和日志记录:实施监控机制,以跟踪BDC的执行状态和性能。记录BDC执行的日志,包括成功和失败的操作,以便进行审计和故障排除。
- 测试:在生产环境之前进行充分的测试,包括功能测试、性能测试和容错测试,以确保BDC工作如预期。
- 系统升级和变更:在SAP系统升级或配置更改之前,重新评估和测试BDC流程,以确保其适应新环境。
- 文档和培训:详细记录BDC流程和配置,以便未来的维护和问题解决。
- 为相关的工作人员提供培训,以确保他们了解如何使用和维护BDC。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

