Download presentation
Presentation is loading. Please wait.
Published byLora Alexander Modified over 9 years ago
1
ABAP/4 程序员之路 —— 第 3 天 上海华和得易信息技术有限公司 王勇
2
本日学习内容 BATCH INPUT 程序概念和作成 DIALOG 程序初步
3
Batch Input 程序 Batch Input 是一种数据批量输入 SAP 系统的 辅助程序, SAP 系统的资料、格式可以通过 Batch Input 录入 SAP 系统 Batch Input 的机制是模拟事务处理将数据录 入 R/3 系统 Batch Input 类似 SAP 的 CATT ,控制性更好, 处理能力更强
4
Batch Input 处理流程 分析需要什么样的数据结构 建立 Batch Input 程序 处理 Batch Input 数据 分析结果 分析错误的 Session
5
分析数据结构 可以通过在屏幕字段上按 ‘F1’ ,然后查看其技 术信息获得字段信息 一般我们通过工具来进行辅助分析: SHDB - Batch Input Transaction Recorder SM35 - Batch Input Monitoring SCAT - Computer Aided Test Tool
6
SHDB - Batch Input Transaction Recorder
10
建立 Batch Input 程序 …… “ 创建 Batch Input 的数据 APPEND BDCDATA. …… “ 调用事务 CALL TRANSACTION USING MODE UPDATE MESSAGE INTO.
11
建立 Batch Input 程序 BDCDATA 的结构 Field NameTypeLengthDescription PROGRAMCHAR8Module pool DYNPRONUMC4DYNAPRO number DYNBEGINCHAR1Starting a DYNPRO FNAMCHAR35Field name FVALCHAR80Field value
12
建立 Batch Input 程序 声明内部 BDCDATA 的内部表 * 存放 Batch Input 操作序列的内部表 -------------------------------------* DATA:BEGIN OF BDCDATA OCCURS 0. INCLUDE STRUCTURE BDCDATA. DATA:END OF BDCDATA. 清空内部表 *&---------------------------------------------------------------------* *& Action : 清空 BatchInput 操作序列的内部表 BDCDATA * *& Input : 无 * *& Output : 无 * *&---------------------------------------------------------------------* FORM BDC_REFRESH. REFRESH BDCDATA. ENDFORM.
13
建立 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.
14
建立 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.
15
建立 Batch Input 程序 “ 调用事务 CALL TRANSACTION USING MODE UPDATE MESSAGE INTO. 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
16
SAP R/3 ABAP/4 画面程序设计概要
23
Screen and Screen Object Screen 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
24
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
25
Screen Object: Screen A container for further screen object
26
Defining and Managing Screens Flow Logic PBO.... PAI.... Screen _ _ _ _ Screen Attributes... Text field Screen Objects Title......... Box
27
Screen: Attributes
28
Dynamic Next Screen: Overview SET SCREEN CALL SCREEN
29
Setting the Next Screen Dynamically PBO PAI Screen Attributes Screen number100 Next screen200 Screen Attributes Screen number300 Next screen 400 PBO PAI MODULE... SET SCREEN 300. LEAVE SCREEN. ENDMODULE. 400
30
Inserting a Sequence of Screens Dynamically PBO PAI Screen Attributes Screen number100 Next screen200 Screen Attributes Screen number300 Next screen 301 PBOPAI MODULE... Call SCREEN 300. …. ENDMODULE. MODULE... SET SCREEN 0. LEAVE SCREEN. ENDMODULE.
31
Calling a Dialog Box Dynamically 100 101 Screen 101 100 101 Screen Attributes Modal dialog box. Next screen 101 MODULE ok_code INPUT. ….. CALL SCREEN 101 STARING AT x1 y1. …… ENDMODULE.. MODULE ok_code INPUT. ….. CALL SCREEN 101 STARING AT x1 y1 ENDING AT x2 y2. …… ENDMODULE.
32
Setting the Cursor Position Dynamically MODULE set_cursor OUTPUT. sflight-carrid = 'LH'. SET CURSOR FIELD sdyn conn-connid.... ENDMODULE. PROCESS BEFORE OUTPUT. MODULE set_cursor. Airline Flight number Flight date LH ? ? SET CURSOR FIELD f OFFECT o. ScreenPainter ABAP
33
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
34
Screen Object: Title Bar Flight Connections Airline LH To 0400 0402 Frankfurt New 2407BerlinSan From Flight No Window titles
35
Creating and Using Title Bars Title TITLE_SCREEN_100 does not exits. Do you want to create the object ? Yes CancelNo SET TITLEBAR ‘TITLE_SCREEN_100’. Program Title code Create Title Title SaveCancel Double-click ABAP Create Object XXXX TITLE_SCREEN_100 Flight Connections
36
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
37
Screen Object: Text Field Airline Flight number Booking date Booking number Displaying static texts
38
Creating Text Fields Short Medium Long Field name Data Element... ABAP Dictionary Fullscreen Editor Directly_entered_text Much_longer_text Text Screen Painter Much longer textLonger text Texts
39
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
40
Screen Object: Input/Output Field LH PROGRAM sapmzxxx.... ABAP Displaying and receiving data at the frontend Automatic field input checks Data consistency checks (foreign key) Possible values help
41
Input/Output Field : Attributes 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
42
Creating Input/Output Fields Fullscreen Editor Object name defLg Data format Object Attributes HUGO CHAR 8 ABAP Dictionary CARRID Field name Table:SDYN_CONN Length CONNID CHAR NUMC 3 4 Type ************************** INCLUDE MZxxxTOP * ************************** TABLESsdyn_conn DATAhugo(8) TYPE c... Screen Painter
43
Hiding a Field Dynamically Display/Change This field is always displayed. This field can be hidden. This text is always displayed. Text field name: textfield1
44
Dynamically Modifiable Attributes SCREEN-NAME SCREEN-GROUP1SCREEN-GROUP2SCREEN-GROUP3SCREEN-GROUP4 Object Name Modification group 1 Modification group 2 Modification group 3 Modification group 4 SCREEN-REQUIREDSCREEN-INPUTSCREEN-OUTPUTSCREEN-INTENSIFIEDSCREEN-INVISIBLESCREEN-LENGTHSCREEN-ACTIVE SCREEN-DISPLAY 3D SCREEN-VALUE HELP SCREEN-REQUEST Required entry Ready for input Ready for output IntensifiedInvisible Object length Active object Display object in 3D Field with value help Input exists (only in PAI)
45
Object Attributes: Modification Groups Object name SDYN_CONN-CONNID SDYN_CONN -CITYFROM SDYN_CONN -CITYTO... Gr1 SEL SEL SEL Gr2Gr3 Gr4... Object list: Modification groups
46
MODULE modify_screen OUTPUT. …... LOOP AT SCREEN. IF screen-name = ‘FEILD1’. Screen-invisible = 1. ENDIF. IF screen-group1 = ‘SEL’. Screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. ENDLOOP. ENDMODULE. Dynamic Screen Modifications: Program ABAP Screen painter PROCESS BEFORE OUTPUT.. MODULE modify_screen..
47
Input/Output Fields: Default Values in SAP Memory Transaction 1 Transaction 2 SAP memory Set parameter Get parameter Airline Flight no. LH 0400 Airline LH. CAR LH CON 0400. 1 2
48
Defining SET/GET Parameter Attributes List of General Object Attributes SPAGPAPID SPFLI-CARRIDXXCAR. SPFLI-CONNIDXXCON Data element. Parameter ID CAR S_CARR_ID Carrier ID Screen Painter ABAP Dictionary
49
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 ?
50
Programming Field Input Checks with an Error Dialog Screen Painter ABAP Ready for input again 1 E ? message PROCESS AFTER INPUT. FIELD screen-field MODULE check_inp. MODULE check_inp INPUT.. MESSAGE E…….. ENDMODULE. 11 1
51
Checking Groups of Fields Screen Painter ABAP Ready for input again E ? message 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 11
52
Dialog Message Categories Termination Program Call Screen 100 A message X message Error Screen 100 E message Warning Screen 100 W message Information Screen 100 I message Screen 200 Success Screen 100 S message
53
Calling Modules Conditionally (1) PROCESS AFTER INPUT. FIELD MODULE ON INPUT. …... ScreenPainter ScreenPainter PROCESS AFTER INPUT. CHAIN. FIELD:,,. MODULE ON CHAIN-INPUT. ENDCHAIN. …... Called when field contains a non-initial value
54
Calling Modules Conditionally (2) PROCESS AFTER INPUT. FIELD MODULE ON REQUEST. …... ScreenPainter ScreenPainter PROCESS AFTER INPUT. CHAIN. FIELD:,,. MODULE ON CHAIN-REQUEST. ENDCHAIN. …... Called when Screen field contains have changed
55
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
56
Screen Object: Status Icons Occupancy for flight Flight date Occ. 0400 LH 27.03.2000 28.08.2000 21.12.2000 Displaying Icons
57
Creating Status Icon Fields Object name defLg Data format iconfield1 33 CHAR Object Attributes visLg >2 Screen Painter Flight dateOccupancy ABAP Fullscreen Editon ****************************** * INCLUDE MZXXXTOP ****************************** DATA: iconfield1 like icons-text. …...
58
Filling Status Icon Fields PBO. MODULE set_icon.... Icon List Icon Name Icon_ok Icon_cancel... Flight date 27.03.2000 28.08.2000 Occupancy ABAP Screen Painter 100 Icon_red_light MODULE set_icon. ………… CALL FUNCTION ‘ICON_CREATE’ EXPORTING name = ‘ICON_RED_LIGHT text = ‘ ‘ IMPORT result = iconfield1 EXCEPTIONS icon_not_found = 1 …… ………… ENDMODULE.
59
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
60
Screen Object: Group Boxes Graphical element Field 1 Field 2 Field 3 Field group Group box header Group box
61
Create Group Box
62
ScreenTitle barPushbuttonText fieldInput/Output fieldStatus iconGroup boxRadio button and checkbox Selection screen List GUI status Table control Tabstrip control Subscreen
63
Screen Object: Radio Buttons and Checkboxes Group box User-input by mouse- click Option 1 Option 2 Option 3 Option 1 Option 2 Option 3 Radio button group Checkboxes X X X X
64
Creating a Radio Button Group Screen Painter Fullscreen Editor ABAP Option1 Option2 Option3 1 2 1 2 Create radio button Define radio button group Object name Data format radio1 CHAR Object Attributes Object text Option1 ***************************** * INCLUDE MZxxxTOP ***************************** DATA: radio1(1) TYPE c. ………...
65
Creating a Checkbox Screen Painter Fullscreen Editor ABAP Option1 Option2 Option3 Object name Data format check1 CHAR Object Attributes Object text Option1 ***************************** * INCLUDE MZxxxTOP ***************************** DATA: check1(1) TYPE c. ………... X
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.