`
zjut_xiongfeng
  • 浏览: 285119 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

BDC

阅读更多

*----------------------------------------------------------------------*
* INCLUDE ZINCL_BDC *
*----------------------------------------------------------------------*
DATA : _filename LIKE rlgrap-filename ,
_filetype LIKE rlgrap-filetype VALUE 'DAT'.

DATA : session(1) TYPE c VALUE ' ',
ctu(1) TYPE c VALUE 'X' ,
data_key(80),key_len TYPE i VALUE 5.
DATA : group(12) TYPE c,
ctumode(1) TYPE c .
*ctumode = p_auto.

DATA : user(12) TYPE c VALUE 'TESTING'.
*user = sy-uname.
DATA : cupdate(1) TYPE c VALUE 'L'.
DATA : keep(1) TYPE c,
e_group(12) TYPE c.
DATA : holddate LIKE sy-datum,
e_user(12) TYPE c.
*e_user = sy-uname.
*e_user = user.
DATA : e_keep(1) TYPE c VALUE ' '.
DATA : e_hdate LIKE sy-datum.
DATA: nodata VALUE '/'.

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA: e_group_opened.
TABLES: t100.

DATA: smalllog.

*----------------------
* at selection screen
*----------------------
AT SELECTION-SCREEN.
* group and user must be filled for create session
IF session = 'X' AND
group = space OR user = space.
MESSAGE e613(ms).
ENDIF.

**---------------
** open dataset
**---------------
FORM open_dataset USING p_dataset.
OPEN DATASET p_dataset
FOR INPUT IN TEXT MODE
ENCODING DEFAULT.
IF sy-subrc <> 0.
WRITE: / text-e00, sy-subrc.
STOP.
ENDIF.
ENDFORM. "OPEN_DATASET
*----------------
* close dataset
*----------------
FORM close_dataset USING p_dataset.
CLOSE DATASET p_dataset.
ENDFORM. "close_dataset

*-----------------------------*
* create batchinput session *
* (not for call transaction using...)
*-----------------------------*
FORM open_group.
IF session = 'X'.
SKIP.
WRITE: /(20) 'Create group'(i01), group.
SKIP.
* open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = group
* user = user
user = sy-uname
keep = keep
holddate = holddate.
WRITE: /(30) 'BDC_OPEN_GROUP'(i02),
(12) 'returncode:'(i05),
sy-subrc.
ENDIF.
ENDFORM. "open_group

*-------------------------
* end batchinput session
* (call transaction using...: error session)
*-------------------------
FORM close_group.
IF session = 'X'.
* close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(i04),
(12) 'returncode:'(i05),
sy-subrc.
ELSE.
IF e_group_opened = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(i06).
ENDIF.
ENDIF.
ENDFORM. "close_group

*-----------------------------------------------------
* Start new transaction according to parameters
*-----------------------------------------------------
FORM bdc_transaction USING tcode.
DATA: l_mstring(480).
DATA: l_subrc LIKE sy-subrc.
* batch input session
IF session = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = tcode
TABLES
dynprotab = bdcdata.
IF smalllog <> 'X'.
WRITE: / 'BDC_INSERT'(i03),
tcode,
'returncode:'(i05),
sy-subrc,
'record:',
sy-index.
ENDIF.
* call transaction using
ELSE.
REFRESH messtab.
ctumode = p_auto.
CALL TRANSACTION tcode USING bdcdata
MODE ctumode
UPDATE cupdate
MESSAGES INTO messtab.
l_subrc = sy-subrc.
IF smalllog <> 'X'.
WRITE: / 'CALL_TRANSACTION',
tcode,
'returncode:'(i05),
l_subrc,
'record:',
sy-index.
LOOP AT messtab.
SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra
AND arbgb = messtab-msgid
AND msgnr = messtab-msgnr.
IF sy-subrc = 0.
l_mstring = t100-text.
IF l_mstring CS '&1'.
REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.
ELSE.
REPLACE '&' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&' WITH messtab-msgv4 INTO l_mstring.
ENDIF.
CONDENSE l_mstring.
WRITE: / messtab-msgtyp, l_mstring(250).
ELSE.
WRITE: / messtab.
ENDIF.
ENDLOOP.
SKIP.
ENDIF.
** Erzeugen fehlermappe ************************************************
IF l_subrc <> 0 AND e_group <> space.
IF e_group_opened = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = e_group
* user = e_user
user = sy-uname
keep = e_keep
holddate = e_hdate.
e_group_opened = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = tcode
TABLES
dynprotab = bdcdata.
ENDIF.
ENDIF.
REFRESH bdcdata.
ENDFORM. "bdc_transaction

*------------------------
* Start new screen
*------------------------
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "bdc_dynpro

*--------------------
* Insert field
*--------------------
FORM bdc_field USING fnam fval.
IF fval <> nodata.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM. "bdc_field

DEFINE new_scr.
clear bdcdata.
bdcdata-program = &1.
bdcdata-dynpro = &2.
bdcdata-dynbegin = 'X'.
append bdcdata.
clear bdcdata.
END-OF-DEFINITION.

DEFINE add_fld.
bdcdata-fnam = &1.
bdcdata-fval = &2.
append bdcdata.
END-OF-DEFINITION.
*----------------------
* Form update_from_file
*----------------------
DEFINE update_from_file.
call function 'WS_UPLOAD'
exporting
filename = &1
filetype = 'DAT'
tables
data_tab = &2
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
invalid_table_width = 7
no_batch = 5
unknown_error = 6
gui_refuse_filetransfer = 8
customer_error = 9
others = 10.
END-OF-DEFINITION.

*----------------------
* Form download_to_file
*----------------------
DEFINE down_to_file.
call function 'DOWNLOAD'
exporting
filename = &1
filetype = 'ASC'
item = 'Download to Excel file'
tables
data_tab = &2
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
others = 10.
END-OF-DEFINITION.
* END of REPORT *

分享到:
评论

相关推荐

    BDC.rar_bdc.youzack_com_单词_背单词

    “BDC”这一工具的开发,无疑是针对那些想要在上班时间修炼英语又不想被老板察觉的职场人士。它巧妙地采用了金山词霸的界面设计,让用户即便在紧张的工作中,也能够舒适且自然地进行英语学习。金山词霸作为一款广受...

    SAP BDC技术 录屏

    ### SAP BDC技术详解 #### 一、BDC技术概述 **SAP BDC (Batch Data Conversion)** 技术主要用于批量处理数据录入任务,尤其是在需要重复执行相同操作但涉及的数据不同的场景下。例如,在切换系统时,需要将旧系统...

    5分钟包教包会,超详细超简单的SAP BDC录屏技术.docx

    SAP BDC录屏技术 本文将详细介绍SAP BDC录屏技术的应用操作,旨在帮助读者快速掌握BDC的使用方法,并能够轻松实现业务顾问的录屏操作。 什么是BDC? BDC是Batch Data Conversion的简称,对应的事物码是SHDB,是一...

    SAP BDC精华教程

    SAP BDC精华教程 本资源摘要信息将详细介绍SAP BDC(Batch Data Conversion)技术,包括BDC的概念、应用场景、技术原理、编程步骤及实践示例。 BDC概念 BDC是一种SAP系统中的数据批量处理技术,用于将外部数据源...

    SAP BDC开发讲解

    ### SAP BDC开发详解 #### 一、SAP BDC技术概述 SAP Business Data Cooperation (BDC) 是一种用于批量或自动化数据录入SAP系统的工具。它通过模拟用户交互来执行事务处理,从而实现数据的批量输入。BDC不仅能够...

    BDC资料 数据导入工具_BDC使用方法

    【BDC资料 数据导入工具_BDC使用方法】 BDC(Batch Input Communication)是SAP系统中用于批量数据导入的关键技术,也称为批输入。它允许用户高效地输入大量数据到SAP系统,尤其适用于需要频繁处理大批量业务数据的...

    BDC数据导入简介

    ### BDC数据导入简介 #### 一、BDC(Business Data Creator)概述 BDC,全称为Business Data Creator,是SAP系统中的一个重要组件,主要用于自动化处理数据输入任务。通过BDC,用户可以创建一系列标准化的数据输入...

    BDC介绍BDC介绍BDC介绍

    【BDC技术详解】 BDC(Batch Data Conversion)是SAP系统中用于批量数据转换的一种技术,主要用于自动化处理大量重复性的数据输入任务。在企业信息化过程中,如系统切换、数据迁移或常规的数据更新等场景,BDC技术...

    SAP_BDC_举例讲解

    SAP BDC技术举例讲解 在SAP系统中,BDC(Batch Data Conversion)技术是一种重要的技术,它可以使用户快速地批量处理数据。下面我们将通过一个实例来讲解BDC技术的应用。 在SAP系统中,BDC技术可以使用户快速地...

    SAP BDC学习导入教程

    ### SAP BDC(Batch Data Conversion)学习导入教程详解 #### 一、SAP BDC概念与应用场景 SAP BDC,即Batch Data Conversion,是一种在SAP系统中用于批量数据导入的技术。它允许用户通过录制特定的事务处理过程,...

    ABAP的BDC与增强部分介绍

    ### ABAP的BDC与增强部分介绍 #### BDC(Business Data Capture)的使用 BDC,即业务数据捕获,是一种在SAP系统中用于批量处理数据的强大工具。它能够帮助用户自动化前台操作,从而减少重复性劳动,并提高工作效率...

    SAP ABAP BDC.详解

    SAP ABAP BDC详解 SAP ABAP BDC(Batch Data Communication Program)是一种加载数据到SAP数据库的方法,通过将要输入的数据存储在BDC Table中,然后使用CALL TRANSACTION指令呼叫R/3输入画面,将输入所需数据项自...

    abap BDC 操作

    ABAP BDC 操作 ABAP BDC 操作是 SAP 系统中的一种批量数据输入机制,通过模拟事务处理将数据录入 R/3 系统。BDC 类似 SAP 的 CATT,控制性更好,处理能力更强。下面是一个简单的 BDC 实例,包含全部操作过程。 ...

    sap BDC技术详解

    ### SAP BDC技术详解 #### 一、BDC技术概述 在SAP系统中,**BDC (Batch Data Conversion)**技术被广泛应用于批量数据处理场景,尤其当需要将大量历史数据或外部系统的数据导入到SAP系统时。通过BDC技术,用户可以...

    BDC2000简体中文版.rar,带注册机

    【标题】:“BDC2000简体中文版.rar,带注册机”指的是一个针对传奇私服数据管理的软件工具,该版本特别为中国用户定制,包含了简体中文界面,便于中文用户理解和操作。rar文件是一种常见的压缩格式,用于将多个文件...

    sap abap BDC程序举例

    根据提供的文件信息,我们可以深入探讨 SAP ABAP 中的 BDC(Business Data Cooperation)技术及其具体应用实例。BDC 是一种用于自动执行重复性事务处理的强大工具,在 SAP 的后台环境中广泛被利用来模拟用户输入,...

    SAP BDC与LSMW介绍.pdf

    SAP BDC与LSMW介绍 SAP BDC(Batch Data Conversion)是SAP系统中的一种批量数据转换机制,用于自动化大量重复的数据输入操作。BDC可以模拟人工操作,快速、重复地执行数据输入任务,减少人工操作的时间和劳动强度...

    SAP BDC与LSMW介绍.pptx

    SAP BDC与LSMW介绍 SAP BDC(Batch Data Conversion)是一种批量数据转换机制,允许用户快速、重复地模拟人工操作,以解决大量数据输入问题。在SAP系统中,BDC扮演着重要角色,可以大量、重复地模拟人工操作,避免...

    SAP两种批处理工具使用方法详解(BDC&LSMW)

    在众多的批处理工具中,BDC(Batch Data Conversion)和LSMW(Legacy System Migration Workbench)是两种常用的工具,它们各有特点,适用于不同场景的数据迁移和批量处理任务。本文将对这两种工具的使用方法进行...

    sap abap bdc 傻瓜教材

    ### SAP ABAP BDC 傻瓜教材 #### 概述:如何工作 备份域控制器(Backup Domain Controller,简称BDC)报告在SAP实施项目中用于从遗留系统向SAP系统传输数据。根据功能需求,您需要编写一个BDC报告以将遗留数据上传...

Global site tag (gtag.js) - Google Analytics