`

使用Batch Input Session来实现BDC(转)

    博客分类:
  • sap
 
阅读更多
data:

ls_bdc like bdcdata,

lt_bdc like standard table of bdcdata.


data:

w_session LIKE APQI-GROUPID value 'SESSION1-54' .


start-of-selection.


*1. Open one Batch input session

  WRITE: / '1st step', 'Open Batch Input session'.

  CALL FUNCTION 'BDC_OPEN_GROUP'

  EXPORTING

  CLIENT = SY-MANDT

* DEST = FILLER8

  GROUP = w_session

* HOLDDATE = FILLER8

  KEEP = 'X'

  USER = SY-UNAME

* RECORD = FILLER1

* PROG = SY-CPROG

* IMPORTING

* QID =

  EXCEPTIONS

  CLIENT_INVALID = 1

  DESTINATION_INVALID = 2

  GROUP_INVALID = 3

  GROUP_IS_LOCKED = 4

  HOLDDATE_INVALID = 5

  INTERNAL_ERROR = 6

  QUEUE_ERROR = 7

  RUNNING = 8

  SYSTEM_LOCK_ERROR = 9

  USER_INVALID = 10

  OTHERS = 11

  .

  IF SY-SUBRC = 0.

    WRITE: / 'Batch input session –', w_session, '– opened'.

  ELSE.

    WRITE: / 'Error opening session - SY-SUBRC =', SY-SUBRC.

  ENDIF.


*2. filling BDC table

  perform fill_bdc_tab.


*3. output the data

  ULINE /5(65).

  WRITE:/5 'Program',

  15 'Screen',

  25 'New Screen',

  40 'Field Name',

  55 'Field Value'.

  LOOP AT lt_bdc into ls_bdc.

    WRITE: /5 ls_bdc-PROGRAM,

    15 ls_bdc-DYNPRO,

    30 ls_bdc-DYNBEGIN,

    40 ls_bdc-FNAM,

    55 ls_bdc-FVAL.

  ENDLOOP.


*4. insert BDC transaction

  ULINE /5(65).

  WRITE: / '2nd step', 'Insert BDC transaction'.

  CALL FUNCTION 'BDC_INSERT'

  EXPORTING

  TCODE = 'FK01'

* POST_LOCAL = NOVBLOCAL

* PRINTING = NOPRINT

* SIMUBATCH = ‘ ‘

* CTUPARAMS = ‘ ‘

  TABLES

  DYNPROTAB = lt_bdc

  EXCEPTIONS

  INTERNAL_ERROR = 1

  NOT_OPEN = 2

  QUEUE_ERROR = 3

  TCODE_INVALID = 4

  PRINTING_INVALID = 5

  POSTING_INVALID = 6

  OTHERS = 7

  .

  IF SY-SUBRC = 0.

    WRITE: / 'Vendor: ”TEST1”', 'inserted into session'.

  ELSE.

    WRITE: / 'Error inserting', 'Vendor: ”TEST1”', 'SY-SUBRC =', SY-SUBRC.

  ENDIF.


  "如果有多个transaction需要执行,那么需要就要重新的BDC table,再调用bdc_insert



*5. close BDC transaction

  ULINE /5(65).

  WRITE: / '3rd step', 'close BDC transaction'.

  CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN    = 1
      QUEUE_ERROR = 2
      OTHERS      = 3.

  IF SY-SUBRC = 0.

    WRITE: / 'Batch input session –', w_session, '– closed'.

  ELSE.

    WRITE: / 'Error closing session - SY-SUBRC =', SY-SUBRC.

  ENDIF.


*&———————————————————————*

*& Form fill_bdc_tab

*&———————————————————————*

* Fill BDC data

*———————————————————————-*

FORM fill_bdc_tab .


* clear bdc

  refresh:lt_bdc.


* fill BDC

  perform populate_bdc_tab using:

  '1' 'SAPMF02K' '0105', " initial create vendor screen

  ' ' 'BDC_CURSOR' 'RF02K-KTOKK',

  ' ' 'RF02K-LIFNR' 'TEST1',

  ' ' 'RF02K-BUKRS' '0001', "Company code

  ' ' 'RF02K-KTOKK' 'ZTMM', "Account group

  ' ' 'BDC_OKCODE' '/00',


  '1' 'SAPMF02K' '0110',

  ' ' 'BDC_CURSOR' 'LFA1-LAND1',

  ' ' 'LFA1-NAME1' 'tang',

  ' ' 'LFA1-SORTL' 'can',

  ' ' 'LFA1-LAND1' 'CN',

  ' ' 'LFA1-ANRED' 'Mr.Tang',

' ' 'LFA1-SPRAS' 'EN',

' ' 'BDC_OKCODE' '/00',


'1' 'SAPMF02K' '0120',

' ' 'BDC_OKCODE' '=UPDA',

' ' 'BDC_CURSOR' 'LFA1-KUNNR',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-ST',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-01',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-02',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-03',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-04',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-05',

' ' 'BDC_SUBSCR' 'SAPMF02K 1099ARI-06',


'1' 'SAPMF02K' '0210',

' ' 'BDC_CURSOR' 'LFB1-AKONT',

' ' 'LFB1-AKONT' '197100',

' ' 'BDC_OKCODE' '=UPDA'.


ENDFORM.                    "fill_bdc_tab
" fill_bdc_tab

*&———————————————————————*

*& Form populate_bdc_tab

*&———————————————————————*

* fill data to bdc

*———————————————————————-*

* –>P_0024 text

* –>P_0025 text

* –>P_0026 text

*———————————————————————-*

FORM populate_bdc_tab USING FLAG type char1

VAR1 type any

VAR2 type any.


CLEAR ls_bdc.

if flag = '1'.

  ls_bdc-program = var1.

  ls_bdc-dynpro = var2.

  ls_bdc-dynbegin = 'X'.

else.

  ls_bdc-fnam = var1.

  ls_bdc-fval = var2.

endif.


APPEND ls_bdc to lt_bdc.


ENDFORM.                    "fill_bdc_tab
"populate_bdc_tab

原文地址:http://scnblogs.techweb.com.cn/tcsapbw/archives/379.html
分享到:
评论

相关推荐

    BDC BATCH INPUT 技术详解 (有图)

    BDC 技术的实现过程主要分为两步:首先,使用 T-code:SHDB 记录用户的一次业务操作的所有过程,然后,使用该记录生成一个程序,通过该程序来模拟用户的操作,实现自动化数据输入。 使用 BDC 技术编程时,有以下几...

    ABAP_100_道面试题

    本文总结了 ABAP 100 道面试题,涵盖了 ABAP 程序的结构、 Field Symbols 和 Field Groups、BDC 程序、Batch Input Session 等方面的知识点。 一、ABAP 程序的结构 ABAP 程序的典型结构包括 HEADER、BODY 和 ...

    ERP信息化专业资料:SAP专业学习资料ABAP4程序员之路 ABAP4 Day3.ppt

    6. **监控与错误处理**:导入过程完成后,使用SM35(Batch Input Monitoring)进行监控,检查导入是否成功,如果出现问题,可以分析错误的Session来定位和修复问题。同时,SCAT也可以作为测试工具,帮助调试和优化...

    SAP LSMW操作

    1. **选择“Run Batch Input session”**: 运行批处理输入会话,执行具体的BDC操作。 #### 三、注意事项 - 在执行每个步骤时,确保模板中的数据保持不变的情况下,可以先运行读取数据(`Read data`),然后再运行...

    一个基于Qt Creator(qt,C++)实现中国象棋人机对战

    qt 一个基于Qt Creator(qt,C++)实现中国象棋人机对战.

    热带雨林自驾游自然奇观探索.doc

    热带雨林自驾游自然奇观探索

    冰川湖自驾游冰雪交融景象.doc

    冰川湖自驾游冰雪交融景象

    C51 单片机数码管使用 Keil项目C语言源码

    C51 单片机数码管使用 Keil项目C语言源码

    基于智能算法的无人机路径规划研究 附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    前端分析-2023071100789s12

    前端分析-2023071100789s12

    Delphi 12.3控件之Laz-制作了一些窗体和对话框样式.7z

    Laz_制作了一些窗体和对话框样式.7z

    ocaml-docs-4.05.0-6.el7.x64-86.rpm.tar.gz

    1、文件内容:ocaml-docs-4.05.0-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ocaml-docs-4.05.0-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    学习笔记-沁恒第六讲-米醋

    学习笔记-沁恒第六讲-米醋

    工业机器人技术讲解【36页】.pptx

    工业机器人技术讲解【36页】

    基于CentOS 7和Docker环境下安装和配置Elasticsearch数据库

    内容概要:本文档详细介绍了在 CentOS 7 上利用 Docker 容器化环境来部署和配置 Elasticsearch 数据库的过程。首先概述了 Elasticsearch 的特点及其主要应用场景如全文检索、日志和数据分析等,并强调了其分布式架构带来的高性能与可扩展性。之后针对具体的安装流程进行了讲解,涉及创建所需的工作目录,准备docker-compose.yml文件以及通过docker-compose工具自动化完成镜像下载和服务启动的一系列命令;同时对可能出现的问题提供了应对策略并附带解决了分词功能出现的问题。 适合人群:从事IT运维工作的技术人员或对NoSQL数据库感兴趣的开发者。 使用场景及目标:该教程旨在帮助读者掌握如何在一个Linux系统中使用现代化的应用交付方式搭建企业级搜索引擎解决方案,特别适用于希望深入了解Elastic Stack生态体系的个人研究与团队项目实践中。 阅读建议:建议按照文中给出的具体步骤进行实验验证,尤其是要注意调整相关参数配置适配自身环境。对于初次接触此话题的朋友来说,应该提前熟悉一下Linux操作系统的基础命令行知识和Docker的相关基础知识

    基于CNN和FNN的进化神经元模型的快速响应尖峰神经网络 附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    网络小说的类型创新、情节设计与角色塑造.doc

    网络小说的类型创新、情节设计与角色塑造

    毕业设计-基于springboot+vue开发的学生考勤管理系统【源码+sql+可运行】50311.zip

    毕业设计_基于springboot+vue开发的学生考勤管理系统【源码+sql+可运行】【50311】.zip 全部代码均可运行,亲测可用,尽我所能,为你服务; 1.代码压缩包内容 代码:springboo后端代码+vue前端页面代码 脚本:数据库SQL脚本 效果图:运行结果请看资源详情效果图 2.环境准备: - JDK1.8+ - maven3.6+ - nodejs14+ - mysql5.6+ - redis 3.技术栈 - 后台:springboot+mybatisPlus+Shiro - 前台:vue+iview+Vuex+Axios - 开发工具: idea、navicate 4.功能列表 - 系统设置:用户管理、角色管理、资源管理、系统日志 - 业务管理:班级信息、学生信息、课程信息、考勤记录、假期信息、公告信息 3.运行步骤: 步骤一:修改数据库连接信息(ip、port修改) 步骤二:找到启动类xxxApplication启动 4.若不会,可私信博主!!!

    57页-智慧办公园区智能化设计方案.pdf

    在智慧城市建设的大潮中,智慧园区作为其中的璀璨明珠,正以其独特的魅力引领着产业园区的新一轮变革。想象一下,一个集绿色、高端、智能、创新于一体的未来园区,它不仅融合了科技研发、商业居住、办公文创等多种功能,更通过深度应用信息技术,实现了从传统到智慧的华丽转身。 智慧园区通过“四化”建设——即园区运营精细化、园区体验智能化、园区服务专业化和园区设施信息化,彻底颠覆了传统园区的管理模式。在这里,基础设施的数据收集与分析让管理变得更加主动和高效,从温湿度监控到烟雾报警,从消防水箱液位监测到消防栓防盗水装置,每一处细节都彰显着智能的力量。而远程抄表、空调和变配电的智能化管控,更是在节能降耗的同时,极大地提升了园区的运维效率。更令人兴奋的是,通过智慧监控、人流统计和自动访客系统等高科技手段,园区的安全防范能力得到了质的飞跃,让每一位入驻企业和个人都能享受到“拎包入住”般的便捷与安心。 更令人瞩目的是,智慧园区还构建了集信息服务、企业服务、物业服务于一体的综合服务体系。无论是通过园区门户进行信息查询、投诉反馈,还是享受便捷的电商服务、法律咨询和融资支持,亦或是利用云ERP和云OA系统提升企业的管理水平和运营效率,智慧园区都以其全面、专业、高效的服务,为企业的发展插上了腾飞的翅膀。而这一切的背后,是大数据、云计算、人工智能等前沿技术的深度融合与应用,它们如同智慧的大脑,让园区的管理和服务变得更加聪明、更加贴心。走进智慧园区,就像踏入了一个充满无限可能的未来世界,这里不仅有科技的魅力,更有生活的温度,让人不禁对未来充满了无限的憧憬与期待。

    一种欠定盲源分离方法及其在模态识别中的应用 附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

Global site tag (gtag.js) - Google Analytics