ABAP工作台基础与概念官方教程

5星 · 超过95%的资源 需积分: 9 22 下载量 45 浏览量 更新于2024-07-26 收藏 16.76MB PDF 举报
"ABAP官方教程---BC400_EN_46D_FV 是一个专注于介绍ABAP工作台的基础和概念的教程,适用于R/3 System的4.6D版本。该教程涵盖了2001年11月时的相关内容,由SAP AG出版,并强调所有权利保留。" 在ABAP(Advanced Business Application Programming)的世界里,BC400教程是学习这个SAP编程语言的关键资源。它专为那些希望深入理解ABAP工作台及其基本原理的开发者设计。ABAP工作台是SAP系统开发的核心部分,提供了各种工具和框架,用于创建、测试和维护业务应用程序。 本教程可能涵盖以下关键知识点: 1. **ABAP基础**:包括ABAP的数据类型、变量、常量、运算符、控制流程语句(如IF、LOOP、SELECT等)、函数模块和内部表等基础知识。 2. **ABAP语法**:深入讲解ABAP的语法结构,如程序结构、报表编程、屏幕处理、输入输出处理等。 3. **ABAP工作台工具**:介绍如SE38(ABAP编辑器)、SE80(对象浏览器)、SE37(功能模块编辑器)等开发工具的使用方法。 4. **数据库交互**:讨论如何使用ABAP与数据库进行交互,包括数据库表操作(SELECT、INSERT、UPDATE、DELETE)以及使用Open SQL和Native SQL的区别。 5. **ABAP报表编程**:讲解如何创建和运行标准ABAP报表,以及如何处理用户输入和输出。 6. **事务码和增强**:介绍如何理解和使用事务码,以及如何通过SAP增强框架(如BADI、Enhancement Spot)来扩展标准功能。 7. **类和对象**:在面向对象的ABAP(OO-ABAP)中,讲解类、对象、接口、继承和多态等概念。 8. **Web Dynpro ABAP**:如果教程更新到较新版本,可能会包含Web Dynpro ABAP,这是一种用于构建Web应用程序的技术。 9. **ABAP Test Cockpit (ATC)**:介绍代码检查和质量保证工具,帮助开发者编写符合SAP最佳实践的代码。 10. **ABAP Development Tools (ADT)**:如果是较新的教程,可能会涉及到基于Eclipse的ABAP开发工具,它是现代ABAP开发的标准环境。 这些内容旨在帮助初学者建立扎实的ABAP基础,同时对有经验的开发者也有助于更新知识,了解最新的ABAP开发技术和最佳实践。由于教程属于SAP官方出品,因此可以确保信息的准确性和权威性。

帮我分析这段abap代码:FUNCTION zhs_jcy_dmt001. *"---------------------------------------------------------------------- *"*"本地接口: *" IMPORTING *" VALUE(IM_MTART) TYPE ZHS_RANGE_MTART OPTIONAL *" VALUE(IM_MATKL) TYPE ZHS_RANGE_MATKL OPTIONAL *" VALUE(IM_SENDMSG) TYPE FLAG DEFAULT SPACE *" TABLES *" ET_DATA STRUCTURE ZHS_JCY_DTM001 OPTIONAL *"---------------------------------------------------------------------- INCLUDE zgen_bc_x_fmlog_first_phase. WAIT UP TO 3 SECONDS. INCLUDE zgen_bc_x_fmlog_last_phase. EXIT. DATA: lo_jcy TYPE REF TO zcl_hans_jcy_handle, lt_dtm001 TYPE TABLE OF zhs_jcy_dtm001, ls_dtm001 TYPE zhs_jcy_dtm001, lt_dtmc01 TYPE TABLE OF zhs_jcy_dmt01, ls_dtmc01 TYPE zhs_jcy_dmt01. "实例化类 CREATE OBJECT lo_jcy EXPORTING im_hs_tcode = gc_hs_tcode_dtm001. "判断监控点是否启用 IF lo_jcy->is_active( ) EQ zcl_hans_jcy_handle=>no. RETURN. ENDIF. PERFORM frm_get_dmtc01. REFRESH:lt_dtm001. SELECT a~mtart a~matnr b~maktx a~matkl INTO CORRESPONDING FIELDS OF TABLE lt_dtm001 FROM mara AS a INNER JOIN makt AS b ON a~matnr EQ b~matnr AND b~spras EQ sy-langu WHERE mtart IN im_mtart AND matkl IN im_matkl. DATA: l_char TYPE c, l_num TYPE n, l_len TYPE i, l_cnt TYPE i. LOOP AT lt_dtm001 INTO ls_dtm001. CLEAR l_cnt. LOOP AT gt_dtmc01 INTO gs_dtmc01 WHERE mtart EQ ls_dtm001-mtart AND zmatcode NE space. CLEAR:l_char,l_len. CONDENSE: gs_dtmc01-zmatcode. l_len = strlen( gs_dtmc01-zmatcode ). DO l_len TIMES. l_char = gs_dtmc01-zmatcode+l_cnt(1). ENDDO. ENDLOOP. ENDLOOP. CHECK lt_dtm001[] IS NOT INITIAL. ls_dtm001-statm = gc_mat_statm_k. MODIFY lt_dtm001 FROM ls_dtm001 TRANSPORTING statm WHERE statm NE gc_mat_statm_k. et_data[] = lt_dtm001[]. FREE:lt_dtm001. CHECK im_sendmsg EQ 'X'. REFRESH:gt_zhs_jcy_ab_data. CLEAR: gs_return. LOOP AT et_data INTO ls_dtm001. "设置WS参数值 CLEAR gs_zhs_jcy_ab_data. * KEY值 gs_zhs_jcy_ab_data-key03 = ls_dtm001-statm. gs_zhs_jcy_ab_data-key02 = ls_dtm001-mtart. gs_zhs_jcy_ab_data-key01 = ls_dtm001-matnr. "栏位值 gs_zhs_jcy_ab_data-field01 = ls_dtm001-mtart. gs_zhs_jcy_ab_data-field02 = ls_dtm001-matnr. gs_zhs_jcy_ab_data-field03 = ls_dtm001-maktx. gs_zhs_jcy_ab_data-field04 = ls_dtm001-zmatcode. gs_zhs_jcy_ab_data-field05 = ls_dtm001-matkl. gs_zhs_jcy_ab_data-field06 = ls_dtm001-statm. APPEND gs_zhs_jcy_ab_data TO gt_zhs_jcy_ab_data. ENDLOOP. CALL METHOD lo_jcy->call_ws_monitor EXPORTING im_zhs_jcy_ab_data = gt_zhs_jcy_ab_data IMPORTING ex_return = gs_return. FREE lo_jcy. ENDFUNCTION.

2023-07-12 上传