ABAP Basic Concept (2) 運算子 控制式與迴圈 SQL指令 Subroutines Event Block

Slides:



Advertisements
Similar presentations
作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
Advertisements

第一單元 建立java 程式.
唐代文学概说 与初唐诗坛.
SQL的简单查询.
課程名稱:程式設計 授課老師:________
战争结束了 年11月,听到停战的消息,巴黎街头人们欣喜若狂。法国总理克里孟梭说:“吻我的姑娘有500多个了。”
D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)
資料庫設計 Database Design.
中鸣虚拟搜救比赛项目 (一人) 现场主题创作(40%)(一人) 3D虚拟搜救(60%)(一人).
Chapter 4 流程控制.
新世代計算機概論 第14章 程式語言.
第八章 编码和测试 编码概述 编码语言与编码工具 编码示例 测试的基本概念 黑盒测试和白盒测试 测试用例设计 多模块程序的测试策略
關聯式資料庫.
基本程式範例.
BLANK overview.
LINQ 建國科技大學 資管系 饒瑞佶.
資料庫系統 Database Systems
Visual C++ introduction
JDK 安裝教學 (for Win7) Soochow University
结构化编程 FC OB1 FB SFC 操作系统 SFB OBs 其它
辦公室自動化軟體: 資料庫管理Access 1 授課老師:林彣珊
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
培训内容安排 APDL基础 模态分析技术 非线性分析技术 热-结构耦合分析 练习 APDL练习 模态分析 接触分析.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
第5章 資料倉儲的資料建置.
C 語言簡介 - 2.
ABAP Basic Concept (1) ABAP程式編輯工具 資料型態 變數 常用系統參數
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
資訊系統文件化工具 東吳大學會計學系 謝 永 明.
App Inventor2呼叫PHP存取MySQL
Dialog Programming What is Dialog Programming? 新增Screen與設定Attributes
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
ABAP程式設計 課程簡介 靜宜大學資管系 楊子青 2011年9月13日.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
編譯程式設計 期末專題說明 V1.1 May 2004.
第一單元 建立java 程式.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
義守大學電機工程學系 陳慶瀚 第4章 VHDL Sequential語法 義守大學電機工程學系 陳慶瀚
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
第一次上机安排 第六周 第七周 周一晚(提高1、2,通信001~012) 周二上(通信014~085) 周四上(通信086~154)
小结 郭清溥.
软件工程 第四章 软件设计 软件过程设计技术与工具.
软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。
BC430 ABAP Dictionary Views、 Search Help 報告者:林聖期、程汎汝.
SAP Query 建立User Group (SQ03) 建立Infoset (SQ02)
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
期末考.
GUI Title and GUI Status
挑戰C++程式語言 ──第8章 進一步談字元與字串
Report Programming Selection Screens 報表之Output格式設定 Detail list
Dialog Programming What is Dialog Programming? 新增Screen與設定Attributes
Create and Use the Authorization Objects in ABAP
陣列與結構.
單元名稱:結構化程式設計 報告人 劉洲溶.
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
期末報告第一題 通訊四甲 B 湯智瑋.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
網路程式-ASP 授課:方順展.
Report Programming Selection Screens 報表之Output格式設定 Detail list
資料庫應用與實作 一到六章重點、習題.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
SQLite資料庫 靜宜大學資管系 楊子青.
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

ABAP Basic Concept (2) 運算子 控制式與迴圈 SQL指令 Subroutines Event Block IF, CASE, DO… ENDDO SQL指令 Subroutines Call by value, value and result, reference Event Block Initialization, Start-of-Selection, At Line-Selection

1. 運算子 比較運算子 = , <> , < , <= , > , >= 比較運算子 = , <> , < , <= , > , >= 算數運算子 + , - , * , /, mod (餘數) 邏輯運算子 AND , OR

2. 控制式與迴圈 IF子句 IF <Logical Expression> . <Statements>. ELSEIF <Logical Expression> . <Statements>. ELSE . <Statements>. ENDIF . CASE子句 CASE < variable > . WHEN 'value1' . <Statements>. WHEN 'value2' OR 'value3' . <Statements>. WHEN OTHERS . <Statements>. ENDCASE .

控制式與迴圈 (Cont.) DO…ENDDO子句 DO 整數變數 TIMES. ENDDO. 範例: DATA X TYPE I. DATA N TYPE I. X = 1. N = 5. DO N TIMES. WRITE: / X. X = X + 1.

3. SQL 指令 SELECT < result > 哪些欄位 FROM < table > 從哪個table INTO < destination > 複製到哪 WHERE < condition >. 條件 SELECT SINGLE * 從database中只挑選一列符合條件的資料 INTO指令與CORRESPONDING FIELDS OF…連用

SQL 指令 (Cont.) SELECT…… ENDSELECT 為一種迴圈結構,其中的程式段會被反覆執行直到資料庫讀取結束 範例:印出zplayer table中所有球員的姓名 SELECT pno pname FROM zplayer INTO CORRESPONDING FIELDS OF wa_player. WRITE: /20 wa_player-pname. ENDSELECT.

練習D 印出TABLE內容 (程式名稱zyy**_ex_d) 使用SELECT …ENDSELECT,印出zyy**_EMP該Table中,CLASS欄位為A1的所有記錄。 判斷是否有記錄,若無則印出There is no record in the table;若有資料則印出Table has at least one record。

練習D參考解答 REPORT zyyTC_EX_D . TABLES zyyTC_EMP. SELECT * FROM zyyTC_EMP WHERE CLASS = 'A1'. WRITE : / zyyTC_EMP-EMPID, zyyTC_EMP-DEPID, zyyTC_EMP-CLASS, zyyTC_EMP-SEX, zyyTC_EMP-BIRTH, zyyTC_EMP-ADDRESS. ENDSELECT. IF SY-SUBRC <> 0. WRITE : / 'There is no record in the table.'. ELSE. WRITE : / 'Table has at least one record.'. ENDIF.

練習E 將abap-dictionary之TABLE複製到Internal Table (程式名稱zyy**_ex_e) 宣告表格zyy**_EMP。 宣告一Work Area變數,結構如zyy**_EMP 宣告一Internal Table變數,型態如zyy**_EMP 利用SQL指令,將zyy**_EMP逐筆複製到Work Area,再將之新增入Internal Table 印出Internal Table所有內容。

練習E參考解答 REPORT zyyTC_EX_E . TABLES zyyTC_EMP. DATA wa LIKE zyyTC_EMP. DATA itab TYPE STANDARD TABLE OF zyyTC_EMP WITH HEADER LINE. SELECT * FROM zyyTC_EMP INTO CORRESPONDING FIELDS OF wa. APPEND wa TO itab. ENDSELECT. LOOP AT itab. WRITE: / itab. ENDLOOP.

4. Subroutines 第一行以FORM開始,最後一行以ENDFORM結束

參數傳遞方式 相同記憶體位址 CHANGING fv3 USING VALUE (fv1) 不同位址,但回傳後更改其值 呼叫副程式 USING VALUE (fv1) 不同位址,但回傳後更改其值 CHANGING VALUE (fv2) 相同記憶體位址 CHANGING fv3 CHANGING

練習F 計算總和副程式 (程式名稱zyy**_ex_f) 定義整數變數n,並設定n為6,請分別呼叫以下兩支副程式,再印出n值。 副程式1:利用call by value 根據傳來的n值,印出n平方 副程式2:利用call by reference

練習F參考解答 REPORT zyyTC_EX_F . DATA N TYPE I. N = 6. PERFORM SQUARE1 USING N. WRITE: / 'N=', N. ULINE. PERFORM SQUARE2 CHANGING N. FORM SQUARE1 USING VALUE(X). X = X * X. WRITE: / 'Square1: N^2=', X. ENDFORM. FORM SQUARE2 CHANGING X.

5. Event Block 類似視窗系統之事件,無一定之執行順序,而由 runtime system 所決定 用法: 第一行以keyword為起始,無結束keyword 直到遇到下一個event block或FORM keyword才結束

Event Blocks for Reports

Event Blocks for Reports (Cont.) The runtime environment creates the INITIALIZATION event and calls the event block. If there is a selection screen defined in the program, control returns to the selection screen processor. Control then passes to the reporting processor. It creates the START-OF-SELECTION event. The logical database, if you are using one, calls further event blocks at this point. The reporting processor creates the END-OF-SELECTION event. If the program contains a list description, it displays the list defined in the AT LINE-SELECTION event.

Major Event Blocks 設定初值 Basic list要用到的 event,用來產生report 範例 PARAMETERS INPUTN TYPE I. START-OF-SELECTION. IF INPUTN = 1 . WRITE : 'HI!'. ENDIF.

Major Event Blocks (Cont.) AT LINE-SELECTION Detail list所用到的 event 報表Drill-down(向下挖掘)之用 可利用 IF 來控制選擇層數:Basic list有參數值sy-lsind = 0,第一層sy-lsind = 1,最多可至20層 範例 REPORT …… ……………… AT LINE-SELECTION. IF sy-lsind = 1. SELECT * FROM spfli INTO CORRESPONDING FIELDS OF wa_flight WRITE :/ wa_flight-carrid, wa_flight-connid. ENDSELECT. IF sy-lsind = 2.