トップページ⇒tech
52コメント24KB

ABAP:R/3統一スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
ABAPコーディング。R/3に関することなら
ジャンル・モジュール問わず語りましょう
0002デフォルトの名無しさんNGNG
SAP萌え
汎用モジュール最高
0003デフォルトのABAP屋NGNG
この言語って将来性あるのでしょうか?
マジレスキボンヌ
0004デフォルトの名無しさんNGNG
こんなスレ立てるやつはホンマニ。。。
ちゃんとSAP認定資格とってネ。
0005デフォルトの名無しさん NGNG
>3
まだSAP儲かってるし、世の中もERP志向だからあと20年は平気だと思われ
0006デフォルトの名無しさんNGNG
>3
ABAPは転職時に有利だから気合入れてやっとけよ!
0007デフォルトの名無しさんNGNG
>6
ABAPって何?言語?コーディング?
0008デフォルトの名無しさんNGNG
Cobolとかよりは全然面白いとおもうよ・

だけど、これ転職で使えるんですかね。
SAPがこけたらいっしょにこけてしまう気がする
0009デフォルトの名無しさんNGNG
smartformsどうよ?
0010デフォルトの名無しさんNGNG
>>6
ほんとに?

ABAPできたところで所詮PG扱いでしょ。
最初とっつきにくいだけで、他言語ちゃんとできる人なら楽勝だよ、あんな言語。

逆に入社以来ABAP一筋、っていうような人だと、テーブルとかR/3の内部構造
にはちょっと詳しいけど、プログラミングの基礎がまずなっていなしし、やってることも
単純な繰り返しだから成長が無い。他に行ったら絶対通用しないね。

どうせ金出してもらって講習行くならABAPなんかよりモジュール行ったほうがいい。

モジュールの知識+ABAPなら設計もできて使い物になるけど、ABAPオンリーだと
使えないダメPGにしかならないと思う。
0011デフォルトの名無しさんNGNG
>>10
とは言うものの、ABAPってみんなどうやって勉強してるの?
参考書も難しいやつしか出てないし・・・
(サルにもわかる「ABAP」)みたいな本は聞いたことも無いし・・・
結局SAPの講習に行くしかないんですかね?
みなさんはどうやって勉強してますか?
0012デフォルトの名無しさんNGNG
>>11
つか、本なんかなくても楽勝だろ(藁

ところで話によるとR/3はすべてJavaに移行するそうな
ABAPerは死に向かってまっしぐらの様相
001311NGNG
>>12
死に向かってまっしぐらでもいい・・・
わしゃ今ABAPを覚えねばならんのです・・・
どうぞ、効果的な勉強方法を・・・
001410NGNG
>>12
>ところで話によるとR/3はすべてJavaに移行するそうな

でもABAPってR/3ユーザ向けのアドオン開発言語というより、
システム記述用言語でしょ。R/3自体の作り直しになるし、SAPとしても
そう簡単には移行できないんじゃないかな。


>>13
>どうぞ、効果的な勉強方法を・・・
まわりにABAPerいないの?
他の人が書いたプログラム見れば構文とかはわかると思うよ。
そうそう難しい処理をやってることもないだろうし。

いなけりゃ開発クラスSAB*あたりのプログラムを見てみるといいよ。
トレーニング用のサンプルプログラムがいっぱいあるはず。

ABAPの特徴はとりあえず内部テーブルとバッチインプットくらい。
あとは普通に制御構造とかサブルーチンとかSQLとか、一般的な知識が
あればすぐできるようになるはず。

ちなみに日本語の本は選択の余地なくこれだけ。これももしかしたら絶版かも。
SAP ABAP プログラミング
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=662
001511、13NGNG
>>14さん
情報有難うございます。
上記URLの本は私も持っているのですが、
URLページにも書いてあるとおり「上級者向け」となっておりますよね。
本書の内容を理解するのにも、悪戦苦闘する始末ですから・・・

でも、SAB*のプログラミングを見て自習することに致します。
親切に有難うございました。
0016デフォルトの名無しさんNGNG
>>14
SAB* ってどこから入るの?
SE16クラスから入れないでしょ。

>>15
ABAPなら、SAPの講習受けるのが一番早いと思うぞ。
 ただし、金は掛かるけど(藁
001710,14NGNG
>>15
何を指して「上級者」というのかわかんないけど、あの本はとっつきにくい入門書。
高度なテクニックとか書いてるわけじゃないし、いざ実務でやりたいことがあったときには
あまり役に立たない。
(4.0対応版なんだから、SELECT文でのテーブル結合くらい書いといてほしい。
 長いことできないもんだと思ってたぞ。)

15さんは具体的にどこでつまずいてるわけ?他言語の知識は?
ABAPに限らず、プログラムなんて実際に簡単なものを作りながら覚えていくものだよ。
本の内容を始めから順に全て理解していこうとは思わないほうがいいよ。


>>16
SE80(リポジトリブラウザ)で開発クラスにSAB*って入れてF4押してみて。
*はワイルドカードね。実際にある開発クラスはSAB0とかだよ。

SAPの講習って単発で行っただけなんだけど、ほとんど意味なかったよ。
講師のレベルも低いし、「これ受けたらABAPでプログラムが組めるようになりますか」
と質問したくなった。

言語としてのABAPは(とりあえず使えるというレベルであれば)、覚えることも少ないし
簡単な部類に入ると思う。
難しく感じるのは、ABAPというプログラム言語よりむしろR/3というシステムの内部でしょ。
どっちもわからない状態でやらされるから、混乱して難しく感じてしまうんじゃないかな。
001811 13 15NGNG
>>17さん
度々ご丁寧に有難うございます。
実は、私は今年からソフトウェア関係会社で働き始めた、新米SEです。
それで、配属先がERP関係になったわけです。
言語経験は入社してからのC言語が少々・・・のみ。
私も、兎に角作りながら学習をしようと考えていたのですが、見本のソースに内部テーブル
などが度々出てきて、混乱するばかりで・・・
最近は、漸く少しだけ覚えた命令を組み合わせて小さなプログラムを作っています。

17さん、甘えついでにもう一つだけお願い致します。
私もクラスSAB*のプログラムを参考にしようと思うのですが、
中でもとっつきやすいプログラムがあれば是非お教えください。
001910,14,17NGNG
>>18
もしかして新人さんかな、とは思っていたけど、やっぱりそうか。
それにしても、新人を放り込んどいて基礎も教えないなんてひどい会社だな。
先輩ABAPerいないの?
いるならこんなとこで聞いてないで、わからないことは先輩に聞いた方がいいぞ。
でも、人に聞くときは、何がわかんないのかをはっきりさせてからね。

ちょっと暇だったんで、簡単なサンプル出しとく。
レポートプログラムなんてこんなもん。後はデータ抽出とか表示の制御が複雑になるだけ。
キーワードでのF1ヘルプとか、HTMLヘルプみたら、少なくとも何がわからないか
くらいは見えてくるんじゃないかな。

REPORT ZTEST1.

TABLES KNA1.
SELECT-OPTIONS SO_KUNNR FOR KNA1-KUNNR.

DATA: BEGIN OF IT_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF IT_KNA1.

START-OF-SELECTION.
*得意先マスタを検索して内部テーブルに格納
SELECT KUNNR NAME1
INTO CORRESPONDING FIELDS OF TABLE IT_KNA1
FROM KNA1
WHERE KUNNR IN SO_KUNNR
ORDER BY KUNNR.
*内部テーブルの内容を画面出力
LOOP AT IT_KNA1.
WRITE: / SY-VLINE, IT_KNA1-KUNNR, SY-VLINE, IT_KNA1-NAME1, SY-VLINE.
ENDLOOP.

ところで、このスレ見てるの全部で3人?
00201ですNGNG
立ち上げながら残業多くて全然レスできませんでした。
今、ABAPerなのですが、なんとなく消えていく言語のような気がします。

それに、言語の知識が無くても組めてしまうだけに基礎が身につかない気がします。
ABAP オンリーからc系の言語に行くのは辛い気が。
VBとかなら入りやすいのかな?

>>11
そうなんですか?
そういう噂は聞いたことがありますが

>>18
おお、なんか懐かしい気分。
確かに、基本はこういう感じですね
0021デフォルトの名無しさんNGNG
>>18
4.6CならTRAININGってAdd-onをSAINTで突っ込んで、BC4*
って開発クラスを見るといいと思います。(まずはBC400から…)

ダウンロードは ttp://service.sap.com/ocs で
002221NGNG
英語ですが、この本は悪くなかったと思います。
Introduction to ABAP/4 Programming for SAP, Revised and Expanded Edition
http://www.amazon.com/exec/obidos/ASIN/0761513922/ref=sim_books/103-3422370-3250229
002318NGNG
>>19さん
本当に有難うございます。早速サンプルソースを使わせて頂きます。

>先輩ABAPerいないの?
>いるならこんなとこで聞いてないで、・・・
実は先日までいたのですが、自分を除いて全員出先に赴いてしまったもので、
現在は自分ひとりで自習する日々です・・・
0024デフォルトの名無しさんNGNG
>>20
「>>11」ってのは12の間違いかな。
検索してたら大昔の記事を発見。2年半経つけどなんか変わったか?
http://www.zdnet.co.jp/pcweek/web_wire/9812/09/p-002.html

>>21
それ知らないや。まだ3.0(社内)、4.0(社外)で仕事してるもんで。

>>22
英語ができりゃ苦労はないと思われ。
英語圏で参考になるサイトはいくつもあるけど、日本語サイト検索しても
SAPのトレーニング情報と企業の実績と2ちゃんねるの過去ログくらいしか
出てこなかった。他言語だと初心者の勉強になるとこいっぱいあるのに。
0025デフォルトの名無しさんNGNG
月曜日からSAP講習だー。
だれかオフ会やりましょ。
0026デフォルトの名無しさんNGNG
>>24
これ
http://www.inqmy.com/
ですね
00271ですNGNG
日本語マニュアルが出版、WEBとも少ない。
英語だとかなり充実しているし、表現も平易
0028デフォルトの名無しさんNGNG
age
0029げNGNG
あじゃぱー
0030デフォルトの名無しさんNGNG
おおおおお おさむちゃんです!
0031デフォルトの名無しさんNGNG
みんな、リリースって何使ってるんだろ?
0032デフォルトの名無しさんNGNG
リリースとは?
0033デフォルトの名無しさんNGNG
46Cとかのことでしょ?
0034デフォルトの名無しさんNGNG
ABAP歴3ヶ月の厨房だけど、こんなページ作ってみました。

http://isweb32.infoseek.co.jp/computer/sap_abap/

よかったら、のぞきにきてみて!!
0035デフォルトの名無しさんNGNG
>>34
つか、ただの掲示板じゃん。
そこに質問するぐらいなら、2chのほうが回答帰ってくる可能性高いYO!
0036デフォルトの名無しさんNGNG
>>35
同意。

http://www.freeml.com/ml_info.php?ml=abap
ここで宣伝してたから見に行ったら、掲示板ばっかりでしかも形が2ちゃんのパクリ。

普通に情報収集する人はFreeMLに行くだろうし、2ちゃんねらーならここに来るだろう。

あそこで質問とか回答する気にはならないな。
003732NGNG
>>33
バージョンの事ね。
うちは46Dだよ。
0038デフォルトの名無しさんNGNG
>>37
すげー>46D
ってことはWP?
003932NGNG
>>38
WPって?
0040デフォルトの名無しさんNGNG
>>39
Workplace
0041デフォルトの名無しさんNGNG
すまん
Workplaceが分からんのよ
0042デフォルトの名無しさん01/09/01 00:30ID:6kDbjpy6
>>19さん
ちょっとソース修正させてもらいます。
>DATA: BEGIN OF IT_KNA1 OCCURS 0,
>KUNNR LIKE KNA1-KUNNR,
>NAME1 LIKE KNA1-NAME1,
>END OF IT_KNA1.
4.0以降の推奨形は以下です。
そろそろ内部テーブル定義にoccurs使うのやめようよ。
新しいほうならハッシュ型とかも使えるし。
type: begin of t_itab,
....
end of t_itab.
data itab type standerd table of t_itab with header line.
あと
>LOOP AT IT_KNA1.
は
loop at it_kna1 into wk_it_kna.
write / SY-VLINE, wk_IT_KNA1-KUNNR, SY-VLINE,
wk_IT_KNA1-NAME1, SY-VLINE.
のほうがパフォーマンス的にいい。ワークの定義がいちいち面倒だけど。
(ASSIGNINGはもっといいけど初心者には理解不能か?
ポインタみたいなものなのでc言語経験者ならすぐわかるかも)

後輩には正しく教えましょう。
0043デフォルトの名無しさん01/09/01 01:17ID:AHeUkBqc
DYNPROとABAPの違いがよく分からないです。
項目名を標準のテーブルで指定するとなにかの
モジュールでエラーチェックとかかかるのですが、
このモジュールでのDYNPROチェックがよく分からない。
いったいどんなシクミなのでしょうか?
0044デフォルトの名無しさん01/09/01 01:42ID:6kDbjpy6
>>43さん
dymproは画面ごとに存在するイベント制御命令群といえましょう。
まあabapの拡張機能みたいなものです。
PBO系が初期処理のモジュール群で、
PAI系が入力操作後のモジュール群です。
またdynpro内では通常のabap命令は使えないのでご注意。
例えば)
伝票登録などのトランザクションでデバッグモードにいれると通常
その画面のPAI部分に飛びます。そこでいろいろ変数をみてみると
なんとなく動きが見えてきますよ。
0045デフォルトの名無しさん01/09/01 02:07ID:6kDbjpy6
訂正
誤)dynpro内では通常のabap命令は使えない
正)dynpro内では使用できるabap命令は限定される
0046デフォルトの名無しさん01/09/04 14:20ID:KhX4FG8c
RESERVE SY-LINCT LINES.

↑の命令文でページ制御を行いたいのですが、
これって、AT USER-COMMAND内では無効なんですかね?
TOP-OF-PAGEに飛んでくれないのよ・・・
0047デフォルトの名無しさん01/09/05 00:00ID:v3GcDTmQ
reserveはend-of-pageイベントを発生させると
マニュアルにはありますが
誰か詳しい人いませんかね。
0048デフォルトの名無しさん01/09/05 00:40ID:a3PLHGJI
いません。
0049デフォルトの名無しさん01/09/06 13:41ID:SZQZvMvA
とりあえず、カウンタを使って制御かな
00501901/09/06 14:49ID:ZHHWH7EI
>>42
フォローありがと。

>4.0以降の推奨形は以下です。
>そろそろ内部テーブル定義にoccurs使うのやめようよ。
>新しいほうならハッシュ型とかも使えるし。

4.0版のBC400見るともうOCCURSって使ってないんだね。
全くの初心者にTYPE〜ってのもわかりづらいかと思ったんだけど、
逆に混乱を招く書き方だったかも。


>のほうがパフォーマンス的にいい。ワークの定義がいちいち面倒だけど。
>(ASSIGNINGはもっといいけど初心者には理解不能か?
>ポインタみたいなものなのでc言語経験者ならすぐわかるかも)

>後輩には正しく教えましょう。

初心者にいきなりパフォーマンス重視のコードを教える必要もないのでは。
まずはSELECT *〜ENDSELECTでもいいからとりあえずプログラム書けるようにして、
それからパフォーマンスの話に持っていく方が教えやすい気がするんだけど、どうかな。
0051デフォルトの名無しさん01/09/06 18:34ID:JFqqrvfE
42です。
ABAPって簡単に書けるし、それでも動いてしまうから
変な癖がつく前にパフォーマンスについても新人には
口うるさく行ってます。
0052デフォルトの名無しさんNGNG
ところでSAPの将来性ってとうなんでしょう?
食べられるうちはこれで食べていくつもりなんですけど、プロジェクトが安定してない
(いつもプロジェクトがあるとは限らないのにあるときはたくさんある)から
ちょっと不安なんですよね。
ほとんど生粋のABAPerなので、今更Cのような言語に戻れるかどうかもかなり
あやしいものですし・・・(元々Macな人だし・・・)。
お給料良いからずっと続いて欲しい言語だなぁ。

内部テーブルはoccurs使うのはやめた方が無難ですよね。
もうtypesに移行してますから。かくいう私もなかなかoccursやめられないのですが。

DynproはDynproとABAPの二本立てだと考えるとわかりやすいかも。
Dynproで画面上のイベントを制御して、実際のコーディングはABAPの
部分でやってる感じ。この二階層構造がわかれば大丈夫ではないかと。

reserveは会社に行かないと調べられません。ごめんなさい。

私も何も教えてもらえなくっていきなり現場に放り込まれた口ですが(^^;、
適当にプロジェクト内で動いてるプログラムがあったのでそれで勉強しました。
まぁ自分で一度組んでみるのが一番です。帳票でもなんでも。

ところで内部テーブルの内容をwriteする場合、ワークに入れた方が
早いんですか?直接書く方が早いような気がするのですが。
わかってないやつがつらつらと書いてすみません。
■ このスレッドは過去ログ倉庫に格納されています