代码模板:

"声明
DATA:bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA:messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA:bdcmode TYPE c VALUE ‘N’,
bdcupdate TYPE c VALUE ‘L’.

----------------------------------------------------------------------

  •    Start new screen                                              *
    

----------------------------------------------------------------------
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = ‘X’.
APPEND bdcdata.
ENDFORM.

----------------------------------------------------------------------

  •    Insert field                                                  *
    

----------------------------------------------------------------------
FORM bdc_field USING fnam fval.
" IF FVAL <> NODATA. 要注释,不然勾选按钮无法生效导致BDC报错
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
"ENDIF.
ENDFORM.

DATA:lv_message TYPE string.

REFRESH:bdcdata,
messtab.

CLEAR:bdcdata,
messtab.

"屏幕
PERFORM bdc_dynpro USING ‘SAPLKO71’ ‘1000’.
PERFORM bdc_field USING ‘BDC_CURSOR’
‘LKO74-TESTLAUF’.
PERFORM bdc_field USING ‘BDC_OKCODE’
‘=STOR’.
PERFORM bdc_field USING ‘LKO74-PERIO’
sy-datum+4(2)."期间月
PERFORM bdc_field USING ‘LKO74-GJAHR’
sy-datum+0(4)."年
PERFORM bdc_field USING ‘LKO74-VAART’
‘8’."固定值 8 完全结算
PERFORM bdc_field USING ‘LKO74-TESTLAUF’
‘’."固定值 空 测试运行
PERFORM bdc_field USING ‘LKO74-TDCHECK’
‘’."固定值 空 检查业务数据
PERFORM bdc_field USING ‘CODIA-AUFNR’
iv_aufnr."订单

IF bdcdata[] IS NOT INITIAL.
"事务码
CALL TRANSACTION ‘KO88’ USING bdcdata
MODE bdcmode
UPDATE bdcupdate
MESSAGES INTO messtab.

READ TABLE messtab INTO DATA(ls_message) WITH KEY msgtyp = 'E'.
IF sy-subrc <> 0.COMMIT WORK AND WAIT.ev_status = 'S'.ev_message = '取消结算成功'.ELSE.ROLLBACK WORK.ev_status = 'E'.LOOP AT messtab INTO ls_message.CLEAR : lv_message.CALL FUNCTION 'MESSAGE_TEXT_BUILD' " 显示出具体的错误讯息EXPORTINGmsgid               = ls_message-msgidmsgnr               = ls_message-msgnrmsgv1               = ls_message-msgv1msgv2               = ls_message-msgv2msgv3               = ls_message-msgv3msgv4               = ls_message-msgv4IMPORTINGmessage_text_output = lv_message.CONDENSE lv_message NO-GAPS.ev_message = lv_message.ENDLOOP.ENDIF.

ENDIF.

相关:
CALL TRANSACTION ‘TCODE’ USING bdcdata
MODE ‘A’
UPDATE ‘S’ MESSAGES INTO it_messtab.

CALL TRANSACTION ‘TCODE’ USING bdc_tab … ABAP提供的这个语法是执行BDC的核心,其中bdcdata这个内表的填充方法很多。用事务码 SHDB/SM35可以生成填写这个表的内容,按照ABAP字典结构类型 BDCDATA 的定义对应填写就可以了。

MODE 确定批输入的执行模式,有下面几个可选值:
执行模式,有下列可选值(执行模式常用的是A N)

“A” 显示所有输入屏幕,如果在 bdc_tab 中包含该屏幕的功能码,则会出现小窗口显示这个功能码。它也是默认值,如果指定不是下面的值,则都认为是 A。
“E” 只有在出现错误时才显示屏幕,用户可以修正数据,修正后程序可以继续处理。
“N” 不显示屏幕的静默模式。如果到达被调用事务的断点,则系统处理终止,并设置一些系统字段。sy-subrc 为 1001,sy-msgty 为 “S”、sy-msgid 为 “00”、sy-msgno 为 “344”、sy-msgv1 为 “SAPMSSY3”、sy-msgv2 为 “0131”。
“P” 不显示屏幕的调试模式。如果到达被调用事务的断点,则系统自动转到 ABAP 调试器,这种方式主要用于调试过程。

SAP SHDB(BDC)心得相关推荐

  1. 转:SAP 零售业POS心得分享

    转:SAP 零售业POS心得分享 转:SAP 零售业POS心得分享 最近看了一些SAP进行中的零售业项目,觉得有些心得,希望透过本篇文章让大家多了解SAP跟零售业POS连接的做法,能够更顺利地完成项目 ...

  2. SAP ABAP BDC(批量数据通信)-018

    SAP ABAP BDC(批量数据通信)-018 批量输入简介 批处理输入通常用于将数据从非 R/3 系统传输到 R/3 系统或在 R/3 系统之间传输数据. 它是一种数据传输技术,允许您将数据集自动 ...

  3. SAP SHDB 录制BDC并程序调用BDC教程

    BDC的录制并使用程序调用 Step1. 录制BDC Step2. 通过标准创建ABAP程序调用BDC Step3. 手动创建ABAP程序调用BDC 3.1 从EXCEL TXT文件取数据 3.2 根 ...

  4. SAP ABAP BDC 的使用及代码详解

    首先介绍一下BDC即Batch Data Conversion.由于某种原因,当我们需要大量并且重复的输入保存变更删除数据的操作,且没有对应的BAPI可以使用的时候,可以使用BDC的方式进行. 其原理 ...

  5. 关于成为sap顾问的心得体会

    早就答应给大家写一下我做SAP顾问的一点心得,今日稍稍得闲,想起对诸位的承诺,不如早早动笔,免得日久忘笔食言. 想来做这个行业时间不长,但感触颇深,在此分享,希望对诸位有所裨益! 分以下几个话题: 1 ...

  6. SAP FICO顾问心得

    五.FICO顾问在各阶段的任务. 通常来讲,不论采用什么样的项目实施方法论,整体的项目实施过程基本上是一样的,我在课堂上曾给大家做过一定的解释,那就是项目实施的五个阶段:项目准备,蓝图设计,系统实现, ...

  7. 快速掌握SAP BDC数据导入

    对于有任何语言编程经验的人员来说,BDC 方式导入数据不失为一种不错的选择.BDC 可以将操作过程录制的记录自动生成 ABAP 代码,并且可以基于自动生成的代码进行优化,加上诸如数据校验,数据导入日志 ...

  8. 通过一个具体的例子,讲解 SAP BDC 技术的使用步骤

    BDC 是 Batch Data Communication,批处理数据交互的英文缩写. 这种技术的理念其实不复杂,而且不少游戏玩家想必都已经接触过和 BDC 类似的工具,那就是按键精灵. 比如我们玩 ...

  9. LSMW、BDC、CATT 区别

    1.ECATT 解释Extended Computer Aided Test Tool(T-code:SECATT) ECATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每 ...

最新文章

  1. 2019年,智慧零售是如何影响零售行业?
  2. 三菱plc编程实例3000_三菱入门PLC编程PLC系统程序包括哪些
  3. null、undefined、NaN区分解析和条件判定,以及在IF条件中的判定
  4. 【摘抄】其实我是间谍!
  5. 【OpenCV学习笔记】【编程实例】六 (霍夫圆检测续)
  6. WebService原理浅析
  7. sqlmap绕过waf的脚本介绍(tamper脚本介绍)
  8. 毕设:后台管理系统基础模板
  9. android 8 奕骆,这才是超级手机 奕骆6000mAh称霸全球 USB Type-C
  10. tf.keras入门系列(一)
  11. 原来自动驾驶离不开OpenStack
  12. Android导航组件Navigation从入门到精通
  13. 感受Google的汉英翻译能力
  14. 怎样使左侧菜单栏不随滚动条滚动
  15. 利用Java实现反向代理
  16. 【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...
  17. Spring Boot(03)——自动配置
  18. 计算机二级excel降水量分值,计算机二级Excel条件格式的8大用法,太全了!
  19. php封装协议查看zip,支持的协议和封装协议
  20. 证书-OCA、OCP、OCM

热门文章

  1. 【ASE入门学习】ASE入门系列六——塞尔达扰动火焰
  2. android气泡组件,Android 聊天气泡
  3. C语言写出猜数字游戏的代码
  4. 【SCAU 新生赛】18247 aler的旅游计划 并查集模板题
  5. Centos yum安装Mysql
  6. 屏幕和摄像头中的视频分辨率P,I,K,MP表示的含义,720p,1080p,2k,5MP
  7. H.264官方软件JM源代码简单分析-解码器ldecod(转载)
  8. ux和ui_UI和UX设计人员的47个关键课程
  9. Apache原理详解
  10. 计算机基础知识考什么,我想请问下,计算机初级考试考些什么东西?