（初）第一弾　ABAPー入門

:writing_hand_tone1:[SAP 訓練目次](https://qiita.com/items/dd1fdf83a42f90a78c6e)
#1. 初めて

この度、仕事でSAPを取り扱うことになりABAP初心者研修から受講することになったので、そこで習ったことを簡単にQiitaにまとめていきたいと思います.

##1.1.　ルール遵守

- タイプ定義:TY_XX
- データ定義:[G:グロバル/L:ローカル]D[F:項目/W:構造/T:テーブル]_XX
- パラメータ:P_
- 選択オプション:S_XXX_FOR_SCREEN

- 移送依頼コメント：
  モジュールＩＤ_プログラムＩＤ_プログラム名_担当者_ＹＹＹＹＭＭＤＤ

- ユーザー配り
 ※皆さん、ユーザー→辞書の番号
　　　　　TR00001→ZXXXX01
　　　　　TR00002→ZXXXX02
　　　　　TR00003→ZXXXX03
　　　　　TR00004→ZXXXX04
　　　　　TR00005→ZXXXX05
　　　　　TR00006→ZXXXX06
　　　　　TR00007→ZXXXX07
　　　　　．．．
以上の形で排他の為にテーブル／データエレメント／ドメインの定義ルールを守ってください。

---

#1.2. ＧＵＩ配置及びログイン

![image.png](https://qiita-image-store.s3.amazonaws.com/0/185058/86282e64-d9e9-776f-4b4a-4bad7b1e8f72.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185058/a752a2ee-1593-f8d0-510e-ffdd7fe021f9.png)

#1.3. アドオンテーブル作成
レーポトをトレニンーグする為に「学生、成績」業務を実演として実装させていただきます。

##1.3.1 データベース説明
###学生一覧テーブル[ZSTUDENT]
| 項目 | データエレメント             | データドメイン                |
|:-----|:-------------------------------------|:--------------------------------------------|
|ZNO01 |ZENO01(番号)     |ZDNO01(CHAR:6) |
|ZNM01|ZENM01(名前)|ZDNM01(CHAR:30)|
|ZSEX01|ZESEX01(性別)|ZDSEX01(CHAR:1)|
|ZBIRTHDAY_DT01|ZEBIRTHDAY_DT01(生年月日)|ZDBIRTHDAY_DT01(DATS:8)|
|ZADDRESS01   |ZEADDRESS01(住所) |ZDADDRESS01(CHAR:50/STRING)   |
|ZCONTACT01   |ZECONTACT01(連絡情報)|ZDCONTACT01(CHAR:50/STRING)   |
|ZCLASS01  |ZECLASS01(所属クラス名) |ZDCLASS01(CHAR:30)    |
|ZCREATE_DT01|ZECREATE_DT01(作成日付)|ZDCREATE_DT01(DATS:8)   |
|ZCREATER01  |ZECREATER01(作成者) |ZDCREATER01(CHAR:30)    |
|ZUPDATE_DT01|ZEUPDATE_DT01(更新日付)|ZDUPDATE_DT01(DATS:8)   |
|ZUPDATER01  |ZEUPDATER01(更新者) |ZDUPDATER01(CHAR:30)    |

###学生成績テーブル[ZSTU_GRADE]
| 項目 | データエレメント             | データドメイン                |
|:-----|:-------------------------------------|:--------------------------------------------|
|ZNO01 |ZENO01(番号)     |ZDNO01(CHAR:6) |
|ZSTUD_NO01 |ZESTUD_NO01(学生番号) |ZDNO01(CHAR:6) |
|ZTEST_NO01 |ZETEST_NO01(試験番号) |ZDNO01(CHAR:6) |
|ZTEST_NM01|ZETEST_NM01(試験名称)|ZDNM01(CHAR:30)|
|ZITEM01|ZEITEM01(科目)|ZDNM01(CHAR:30)|
|ZGRADE01|ZEGRADE01(成績)|ZDGRADE01(INT1:3)|
|ZTEST_DT01|ZETEST_DT01(試験日付)|ZDCREATE_DT01(DATS:8)   |
|ZCREATE_DT01|ZECREATE_DT01(作成日付)|ZDCREATE_DT01(DATS:8)   |
|ZCREATER01  |ZECREATER01(作成者) |ZDCREATER01(CHAR:30)    |
|ZUPDATE_DT01|ZEUPDATE_DT01(更新日付)|ZDUPDATE_DT01(DATS:8)   |
|ZUPDATER01  |ZEUPDATER01(更新者) |ZDUPDATER01(CHAR:30)    |

##1.3.2 実装順序
###設定
- Tr-Cd:SE11→テーブル→データエレメント→ドメイン

###学生一覧テーブル
- 以下の図に示す。
![ZSTUDENT01.PNG](https://qiita-image-store.s3.amazonaws.com/0/185058/f8f9a7dd-dbd7-0aa4-406b-d6a1e75f01b2.png)

###学生成績テーブル
- 以下の図に示す。
![ZSTU_GRADE01.PNG](https://qiita-image-store.s3.amazonaws.com/0/185058/fa71da82-4949-e09d-6eae-7511ab0a4efa.png)

#2. ABAPのプログラム

#2.1.タイプ
- レポートプログラム
- ダイアログプログラム

#3．開発ツール群
##3.1. ABAPワークベンチ
- ABAPソース（Tr-Cd:SE38）
- スクリーンペインタ（Tr-Cd:SE80）
- メニュー作成（Tr-Cd:SE41）
- ジョブログ(Tr-Cd:SM37)
- クエリ機能（Tr-Cd:SQ01,SQ02,SQ03）
- ...

##3.2.開発作業環境

###3.2.1 起動画面

***Tr-Cd:SE38***
![image011.png](https://qiita-image-store.s3.amazonaws.com/0/185058/415f5abe-518d-256b-d7ea-b0bfb13b5ca8.png)
①チェック
②有効化
③実行
④使用先一覧
⑤バリアント実行

###3.2.2. 作業ワックスペース

![image026.png](https://qiita-image-store.s3.amazonaws.com/0/185058/cb921368-87b2-4e39-8bb6-0f249a838472.png)

###3.2.3. ソースを新規また変更して保存すると移送依頼画面
![HelloWorld.PNG](https://qiita-image-store.s3.amazonaws.com/0/185058/c57d6fd6-6c74-b10e-0cc5-2acc55c40c1a.png)
![TMP.PNG](https://qiita-image-store.s3.amazonaws.com/0/185058/f86177ca-7156-e745-0456-b9bb11ac8b55.png)

***Tr-Cd:SE01***
移送オーガナイザ（拡張ビュー）画面によって一覧を確認できる
![SE01.PNG](https://qiita-image-store.s3.amazonaws.com/0/185058/291bcc69-76bc-b09e-55cf-8a3f44706014.png)

##3.3. ABAPのHelloWorld

```ruby:ABAP


REPORT  ZHELLO_001.
DATA:
      GDF_HELLO TYPE CHAR50 VALUE 'Hello World!'.

WRITE GDF_HELLO.
```
:writing_hand_tone1:[第二弾](https://qiita.com/luyu1567/items/3bc5c0db61e5543b4b38)