ABAP/4程序员之路——第3天 上海华和得易信息技术有限公司 王勇.

Slides:



Advertisements
Similar presentations
Microsoft Expression Web-Illustrated Unit J: Creating Forms.
Advertisements

Visit : Call Us: US: , India:
Visit : Call Us: US: , India:
0 UMN 2011 ERP Terapan SAP BASIS General Concept Session # 3.
An End-User Perspective On Using NatQuery Extraction From two Files T
Lecture 1 Introduction to the ABAP Workbench
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
University of Southern California Enterprise Wide Information Systems ABAP/ 4 Programming Language Instructor: Richard W. Vawter.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Microsoft Office Word 2013 Core Microsoft Office Word 2013 Core Courseware # 3250 Lesson 8: Using Productivity Tools.
FAS New Features Martha Pluemer 2012 User Conference.
Your Tour Guide is Jim Provensal. What We Will Cover s Introduction to MicroSoft Access u What is a database u What is a “Relational” Database s The Major.
ABAP Chapter 3 Open SQL Internal Table. SAP System : 3 Tier Client/Server DB Server SAP Application Server SAP GUI Presentation Server SAP GUI.
0 UMN 2011 ERP Terapan ABAP Introduction Session # 8.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Creating a Web Site to Gather Data and Conduct Research.
SAP ABAP DemoNawin's Training Acadamy1. Enterprise Wide Information Systems ABAP/ 4 Programming Language Mr. RG Nawin Krishna, Bsc(cs);Msc(psychology);MBA(HR);SAP(HCM/HR),
FireRMS NEMSIS (Part 2) Presented by Laura Small FireRMS Quality Assurance.
In the next step you will enter some data records into the table. This can be done easily using the ‘Data Browser’. The data browser can be accessed via.
Creating Dialog (ABAP Dynpro) Programs. Slide 2 Introduction All of the ERP systems operate similarly with regard to transactional integrity They all.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
User Dialog Overview. Update Statement TABLES customers. SELECT SINGLE * FROM customers WHERE id = 1. IF sy-subrc = 0. customers-name = ‘John’. UPDATE.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Introduction to ABAP Selection Screens. Slide 2 Screens (Types) There are three types of screens Selection screens get parameter input for reports List.
ITEC3612 Enterprise Architecture and Resource Planning (Lab) ABAP Programming (2)
FIX Eye FIX Eye Getting started: The guide EPAM Systems B2BITS.
SELECT-OPTIONS. SELECT-OPTIONS Syntax TABLES customers. SELECT-OPTIONS id FOR customers-id. START-OF-SELECTION.
Indicator 13 Secondary Transition. Main Menu SPP13 has a navigation toolbar located at the top of each screen. If you use the toolbar to navigate to another.
ABAP/4 程序员之路 —— 第 3 天 上海华和得易信息技术有限公司 王勇. 本日学习内容  BATCH INPUT 程序概念和作成  DIALOG 程序初步.
ERP I1, Session 7 dynpro. SAP GUI SAP has many GUI solutions: – Lists (ALV) – dynpro (Dynamic Program) – Business Server Pages – Web dynpro – More?
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
ABAP 楊子青 Dialog2-1 Screen Element for Output n Text Fields –Dynamic Screen Modifications n Status Icons n Group Boxes n 實例.
Dialog Programming. Used to Read, Insert,Update Data. User interface is designed by screen painter. Contains fields as : simple field, table field, checkboxes,
SPECTO TRAINING contact us: , mail :
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
1 Customizing Forms and Writing QuickBooks Letters Lesson 15.
CNC Motion BenchMill 6000 Machining Center
SAP ERP Basic System Navigation
Introduction to the new robust security system from SCC.
Running a Forms Developer Application
Forms Concepts Triggers Fired when Internal/External events occur
Chapter 2: The Visual Studio .NET Development Environment
Working in the Forms Developer Environment
Topics Graphical User Interfaces Using the tkinter Module
ABAP EVENTS & Interaction
Chapter 2 – Introduction to the Visual Studio .NET IDE
Data File Import / Export
Customization
Unit I: Collecting Data with Forms
Windows xp PART 1 DR.WAFAA SHRIEF.
Cancel Time Confirmations DPI Vehicle Fleet Management TE-4
Word offers a number of features to help you streamline the formatting of documents. In this chapter, you will learn how to use predesigned building blocks.
Two methods to observe tutorial
Topics Graphical User Interfaces Using the tkinter Module
Two methods to observe tutorial
Two methods to observe tutorial
Two methods to observe tutorial
Visual C# - GUI and controls - 1
Running a Java Program using Blue Jay.
Two methods to observe tutorial
Approving Time in Kronos Manager/Supervisor Reference Guide
Two methods to observe tutorial
Two methods to observe tutorial
Dialog Programming 整合實例
Wings 2.0 Business Flow Reference
Human and Computer Interaction (H.C.I.) &Communication Skills
Screen Elements for Input/Output
Microsoft Excel 2007 – Level 2
Two methods to observe tutorial
Presentation transcript:

ABAP/4程序员之路——第3天 上海华和得易信息技术有限公司 王勇

本日学习内容 BATCH INPUT程序概念和作成 DIALOG程序初步

Batch Input程序 Batch Input是一种数据批量输入SAP系统的辅助程序, SAP系统的资料、格式可以通过Batch Input录入SAP系统 Batch Input的机制是模拟事务处理将数据录入R/3系统 Batch Input类似SAP的CATT,控制性更好,处理能力更强

Batch Input处理流程 分析需要什么样的数据结构 建立Batch Input程序 处理Batch Input数据 分析结果 分析错误的Session

分析数据结构 可以通过在屏幕字段上按‘F1’,然后查看其技术信息获得字段信息 一般我们通过工具来进行辅助分析: SHDB - Batch Input Transaction Recorder SM35 - Batch Input Monitoring SCAT - Computer Aided Test Tool

SHDB - Batch Input Transaction Recorder

SHDB - Batch Input Transaction Recorder

SHDB - Batch Input Transaction Recorder

SHDB - Batch Input Transaction Recorder

建立Batch Input程序 …… “创建Batch Input的数据 APPEND BDCDATA. “调用事务 CALL TRANSACTION <transaction code> USING <BDCDATA table> MODE <display mode> UPDATE <update mode> MESSAGE INTO <message table> .

建立Batch Input程序 BDCDATA的结构 Field Name Type Length Description PROGRAM CHAR 8 Module pool DYNPRO NUMC 4 DYNAPRO number DYNBEGIN 1 Starting a DYNPRO FNAM 35 Field name FVAL 80 Field value

建立Batch Input程序 声明内部BDCDATA的内部表 清空内部表 DATA:BEGIN OF BDCDATA OCCURS 0. INCLUDE STRUCTURE BDCDATA. DATA:END OF BDCDATA. 清空内部表 *&---------------------------------------------------------------------* *& Action : 清空BatchInput操作序列的内部表BDCDATA * *& Input : 无 * *& Output : 无 * FORM BDC_REFRESH. REFRESH BDCDATA. ENDFORM.

建立Batch Input程序 设置屏幕 *&---------------------------------------------------------------------* *& Action : 添加Program/DynPro操作到BatchInput序列的内部表BDCDATA * *& Input : PROGRAM - 程序名(长度为8的字符串) * *& DYNPRO - 画面号 * *& Output : 无 * FORM BDC_DYNPRO USING PROGRAM DYNPRO. CLEAR BDCDATA. BDCDATA-PROGRAM = PROGRAM. BDCDATA-DYNPRO = DYNPRO. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. ENDFORM.

建立Batch Input程序 设置屏幕字段 *&---------------------------------------------------------------------* *& Action : 添加屏幕数据操作到BatchInput序列的内部表BDCDATA * *& Input : FNAM - 屏幕项目名 * *& FVAL - 填写项目值 * *& Output : 无 * FORM BDC_FIELD USING FNAM FVAL. CLEAR BDCDATA. BDCDATA-FNAM = FNAM. BDCDATA-FVAL = FVAL. APPEND BDCDATA. ENDFORM.

建立Batch Input程序 Display mode Update Mode “调用事务 CALL TRANSACTION <transaction code> USING <BDCDATA table> MODE <display mode> UPDATE <update mode> MESSAGE INTO <message table> . Display mode A - Display all (Default) E - Display only error N - No Display Update Mode S - Continue processing when update is completed ( synchronous ) A - Continue processing immediately

SAP R/3 ABAP/4画面程序设计概要

1、进入T-Code:SE80(SE38也可以,但略有不同) 2、在“程序”栏输入程序名称,然后单击“显示”按钮 3、程序的名称一般为SAPMZxxx,‘xxx’为任意字符串

1、如果指定的程序不存在,将会有对话框弹出,询问是否需要创建新程序,请选择“是” 2、如果指定的程序已经存在,将自动转到对象浏览器部分

1、确定选上“带 TOP INCL”的复选框后,单击“√”按钮继续 2、该复选框是用来自动创建一个包含(INCLUDE类型)的程序,我们一般将数据声明部分放在该程序中

确认包含程序的名称后,单击“√”继续(这里程序名称一般无需改动)

1、主程序属性设置,一般我们只需要设置以下三个内容: 标题:程序功能描述或其它等等 类型:M(缺省值),Module类型 应用:一般为Z,声明程序为用户自定义程序 2、程序属性设置完成后,按保存按钮保存

1、在对象目录条目创建画面里,指定“开发类别”以用于传输属性的设置 2、如果用于测试目的,不需要传输的程序,可以指定为本地对象

Screen and Screen Object Title bar Text field Input/output field Status icon Box Radio button and checkbox Pushbutton GUI statuses List Selection screen Subscreen Tabstrip control Table control

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

A container for further Screen Object: Screen A container for further screen object

Defining and Managing Screens Screen Objects Screen _ _ _ _ Text field Screen Attributes . . . Flow Logic PBO. . . . PAI. Title ... ... ... ... ... ... Box

Screen: Attributes

Dynamic Next Screen: Overview SET SCREEN CALL SCREEN

Setting the Next Screen Dynamically Screen Attributes Screen Attributes Screen number 100 Screen number 300 Next screen 200 Next screen 400 PBO PAI PBO PAI 400 MODULE ... SET SCREEN 300. LEAVE SCREEN. ENDMODULE.

Inserting a Sequence of Screens Dynamically Screen Attributes Screen Attributes Screen number 100 Screen number 300 Next screen 200 Next screen 301 PBO PAI PBO PAI MODULE ... MODULE ... SET SCREEN 0. LEAVE SCREEN. ENDMODULE. Call SCREEN 300. …. ENDMODULE.

Calling a Dialog Box Dynamically Screen 101 MODULE ok_code INPUT. ….. CALL SCREEN 101 STARING AT x1 y1. …… ENDMODULE. 100 101 . Screen Attributes MODULE ok_code INPUT. ….. CALL SCREEN 101 STARING AT x1 y1 ENDING AT x2 y2. …… ENDMODULE. Modal dialog box . Next screen 101 101 100

Setting the Cursor Position Dynamically SET CURSOR FIELD f OFFECT o. Screen Painter PROCESS BEFORE OUTPUT. MODULE set_cursor. Airline LH ABAP Flight number ? MODULE set_cursor OUTPUT. sflight-carrid = 'LH'. Flight date ? SET CURSOR FIELD sdyn conn-connid. ... ENDMODULE.

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Title Bar Flight Connections Airline LH To 0400 0402 Frankfurt New 2407 Berlin San From Flight No Window titles

Creating and Using Title Bars ABAP SET TITLEBAR ‘TITLE_SCREEN_100’. Create Object Title TITLE_SCREEN_100 does not exits. Do you want to create the object ? Double-click Yes No Cancel Create Title XXXX Program Title code TITLE_SCREEN_100 Title Flight Connections Save Cancel

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Text Field Airline Flight number Booking date Booking number Displaying static texts

Creating Text Fields ... Screen Painter ABAP Dictionary Data Element Fullscreen Editor Directly_entered_text Much_longer_text ABAP Dictionary Data Element ... Texts Field name Short Text Medium Longer text Long Much longer text

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Input/Output Field Displaying and receiving data at the frontend Automatic field input checks Data consistency checks (foreign key) Possible values help LH ABAP PROGRAM sapmzxxx. ...

Input/Output Field:Attributes General Object name Object text Icon display - Icon name - Quick info Start position Size - Static - Dynamic Scrollable Modif. groups Dictionary Data format Memory ID - ID - SET attribute - GET attribute Foreign key check From Dictionary Conversion exit Matchcode Upper-/lowercase active Program Dialog properties - Input field - Output field - Output only - Required field Possible entries - with or without - P. entries button Output options - right-justified - leading zeros Input options - *input possible - without reset - without template Display Fixed font Intensified Invisible 2-dimensional

Creating Input/Output Fields Fullscreen Editor Screen Painter ABAP Dictionary Table: SDYN_CONN Field name Type Length CHAR 3 CARRID CONNID NUMC 4 Object Attributes HUGO Object name defLg 8 Data format CHAR ************************** INCLUDE MZxxxTOP * ************************** TABLES sdyn_conn DATA hugo(8) TYPE c . . .

Hiding a Field Dynamically Display/Change This field is always displayed. This field can be hidden. This text is always Text field name: textfield1

Dynamically Modifiable Attributes SCREEN-NAME Object Name SCREEN-GROUP1 SCREEN-GROUP2 SCREEN-GROUP3 SCREEN-GROUP4 Modification group 1 Modification group 2 Modification group 3 Modification group 4 SCREEN-REQUIRED SCREEN-INPUT SCREEN-OUTPUT SCREEN-INTENSIFIED SCREEN-INVISIBLE SCREEN-LENGTH SCREEN-ACTIVE SCREEN-DISPLAY 3D SCREEN-VALUE HELP SCREEN-REQUEST Required entry Ready for input Ready for output Intensified Invisible Object length Active object Display object in 3D Field with value help Input exists (only in PAI)

Object Attributes: Modification Groups Screen Painter Object name SDYN_CONN-CONNID SDYN_CONN -CITYFROM SDYN_CONN -CITYTO ... Gr1 SEL Gr2 Gr3 Gr4 ... Object list: Modification groups

Dynamic Screen Modifications: Program painter PROCESS BEFORE OUTPUT. . MODULE modify_screen. ABAP MODULE modify_screen OUTPUT. …... LOOP AT SCREEN. IF screen-name = ‘FEILD1’. Screen-invisible = 1. ENDIF. IF screen-group1 = ‘SEL’. Screen-input = 1. MODIFY SCREEN. ENDLOOP. ENDMODULE.

Input/Output Fields: Default Values in SAP Memory Transaction 1 Transaction 2 SAP memory Set parameter Get parameter Airline Flight no. LH 0400 . CAR LH CON 0400 1 2

Defining SET/GET Parameter Attributes ABAP Dictionary Data element Data element S_CARR_ID . Parameter ID CAR Carrier ID Screen Painter List of General Object Attributes SPA GPA PID SPFLI-CARRID X X CAR . SPFLI-CONNID X X CON

Input/Output Fields: Automatic Field Input Checks (Review) DEC INT4 DATS CLNT ... Required entry check Field format check Fixed values Foreign key check Domain: Fixed values Field: Check table ?

Programming Field Input Checks with an Error Dialog Screen Painter ABAP PROCESS AFTER INPUT. FIELD screen-field MODULE check_inp. MODULE check_inp INPUT. . MESSAGE E……. ENDMODULE. 1 1 1 E ? message 1 Ready for input again

Checking Groups of Fields Screen Painter ABAP PROCESS AFTER INPUT. CHAIN. FIELD: screen-field1, screen-field2. MODULE check_inp. ENDCHAIN. MODULE check_inp INPUT. . MESSAGE E……. ENDMODULE. 1 1 1 1 1 1 1 1 E ? message Ready for input again

Dialog Message Categories Termination Program Call Screen 100 A message X message Error Warning Information Screen 100 I message Screen 200 Success Screen 100 Screen 100 Screen 200 E message W message There are six different categories of message: A Termination The processing terminates and the user must restart the transaction. X Exit Like message type A, but with short dump MESSAGE_TYPE_X. E Error Processing is interrupted, and the user must correct the entry. W Warning Processing is interrupted, and the user may correct the entry. He or she may also, however, confirm the message (ENTER) as though it were an information message. I Information Processing is interrupted, but continues when the user has confirmed the message (pressed ENTER). S Success An information message, displayed on the next screen Screen 100 Screen 100 S message

Calling Modules Conditionally (1) Screen Painter PROCESS AFTER INPUT. FIELD <screen-field> MODULE <module> ON INPUT. …... Called when field contains a non-initial value Screen Painter PROCESS AFTER INPUT. CHAIN. FIELD: <screen-field1>, <screen-field2>, . MODULE <module> ON CHAIN-INPUT. ENDCHAIN. …...

Calling Modules Conditionally (2) Screen Painter PROCESS AFTER INPUT. FIELD <screen-field> MODULE <module> ON REQUEST. …... Called when Screen field contains have changed Screen Painter PROCESS AFTER INPUT. CHAIN. FIELD: <screen-field1>, <screen-field2>, . MODULE <module> ON CHAIN-REQUEST. ENDCHAIN. …...

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Status Icons Occupancy for flight Flight date Occ. 0400 LH 27.03.2000 28.08.2000 21.12.2000 Displaying Icons

Creating Status Icon Fields Screen Painter Fullscreen Editon Flight date Occupancy Object Attributes Object name iconfield1 defLg 33 visLg >2 Data format CHAR ABAP ****************************** * INCLUDE MZXXXTOP DATA: iconfield1 like icons-text . …...

Filling Status Icon Fields Screen Painter PBO. Icon List MODULE set_icon. . . . Icon Name 100 ABAP Icon_ok MODULE set_icon. ………… CALL FUNCTION ‘ICON_CREATE’ EXPORTING name = ‘ICON_RED_LIGHT text = ‘ ‘ IMPORT result = iconfield1 EXCEPTIONS icon_not_found = 1 …… ENDMODULE. Icon_cancel Icon_red_light . . . Flight date Occupancy 27.03.2000 28.08.2000 100

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Group Boxes Graphical element Group box header Field group Field 1 Field 2 Field 3 Group box

Create Group Box

Screen Pushbutton Title bar Selection screen List GUI status Text field Input/Output field Status icon Table control Tabstrip control Subscreen Group box Radio button and checkbox

Screen Object: Radio Buttons and Checkboxes User-input by mouse- click Radio button group Option 1 Option 2 Option 3 Checkboxes X Option 1 X Option 2 Group box Option 3

Creating a Radio Button Group Screen Painter Fullscreen Editor 2 1 Option1 Option2 Object Attributes Option3 Object name radio1 Object text Option1 Data format CHAR 1 Create radio button 2 Define radio button group ABAP ***************************** * INCLUDE MZxxxTOP DATA: radio1(1) TYPE c. ………...

Creating a Checkbox X Screen Painter ABAP Fullscreen Editor X Option1 Option2 Object Attributes Option3 Object name check1 Object text Option1 Data format CHAR ABAP ***************************** * INCLUDE MZxxxTOP DATA: check1(1) TYPE c. ………...