Friday is awesome

SAPについて個人的なメモをまとめたブログです

MENU

ABAP

【ABAP Tips】サブルーチンの検索方法はあるのか?

プログラミングである値を入力して一定の処理をして結果を返す場合に関数として定義しておくことはよくあると思います。SAP ABAPにも同様の仕組みがあり、Subroutineとして作成します。呼び出し元はPerform サブルーチン名、呼び出し先ではForm サブルーチン…

【ABAP Tips】ナビゲーション索引更新とは?

ABAPのナビゲーション索引更新について解説

【ABAP Tips】プログラム名称のテーブル

SAPでプログラムのタイトルを一括で調べたいときがあります。TRDIRテーブルにプログラムのID、種別、作成者、作成日付などの情報が分かります。一方でタイトルだけ知りたい場合はTRDIRTというテーブルで末尾にTを付けるとプログラム名称が格納されているテー…

【ABAP Tips】サブルーチンプール(Subroutine pool)とは?

ABAPにおけるサブルーチンプールとは、複数のプログラムから呼び出される共通処理を一つのプログラムに作成しておく手法で、サブルーチンの呼び出し先の処理が書かれます。 Form サブルーチン名 処理内容 Endformのように記述して、呼び出し側からはPerform…

【ABAP Tips】CEIL関数

ABAPのCEIL関数は、与えられた数値を切り上げて、最も近い整数値に変換するための関数です。例えば、CEIL(3.4)は4になります。この関数は、数値をより大きい方向に丸める際に使用されます。"Ceil" は英語で "ceiling" の略語です。"Ceiling" は「天井」や「…

【ABAP Tips】Hint Oracle Index

SAP ABAPに限った話ではありませんが、パフォーマンス悪化したPGMの処理時間を改善したのでメモ。標準テーブルの検索で時間がかかっていましたが、原因は2次Indexがあるが、それが正しく使えていないことでした。そのため、検索条件の最後にHint Oracle Inde…

SAPでRFCエラーが起きた場合の対応について

SAPのRFCエラーについて

【AI】Google BardでABAPコードを作ることはできるのか?

ChatGPTに続いてGoogleもBardというチャットAI、生成系AIを出してきたというわけで前回、GhatGPTへABAP Codeを生成してもらった時と同じ質問文をGoogle Bardへ投げかけてみました。 質問① 受注伝票から販売価格を取得するためのABAPプログラムサンプルを書い…

【SAPエラー対処】DBSQL_DUPLICATE_KEY_ERROR

SAP Runtime error(dbsql_duplicate_key_error )が出た場合の対処。このエラーはDBテーブルのキー項目が重複しているため発生しています。キー項目はT-cd SE11でテーブルを検索すると確認できます。原因特定のため以下のことを確認します。・登録しようとし…

【SAP Tips】伝票番号からIDOCを検索する方法

SAPでは、インタフェース連携にIDOCを使うことが多いです。以下、IDOC説明の記事もありますので、参考にして頂きたいです。 sapbasic.hatenablog.comIDOCを使っていると、度々エラーになり調査が必要になることがあります。そうした際、困ることがIDOC→伝票…

Chat GPTでABAPコードを作ることはできるのか?

最近、AI関連のニュースが多く、その中でもChat GPT(今も猛烈な勢いで進化していて、GPT-4の発表があったばかり)はホットなワードでNHKや民放のニュースでも使われるくらい、一般的なニュースとして広がりを見せています。このようなAIテクノロジーは、SAP…

【ABAP】ABAP Memoryについて

ABAPメモリは同一セッション内でプログラム間で変数の受け渡しすることができます。あるプログラムで取得したデータを別プログラムでも使用したいこと、ありますよね。そうした場合にABAPメモリを使うことで解決できます。Export命令で変数の値をメモリに渡…

【SAP Tips】のバリアント変数について

SAPのバリアント変数についてのメモ。■選択変数:下記から変数タイプを選択するT:TVARVCからのテーブル変数D:動的日付計算(ローカル日付)X:動的日付計算(システム日付) ■変数名変数名から業務用途に合わせてそれぞれの変数を選択することができる。単…

【SAP Tips】パフォーマンス問題が起きたら

SAPシステムを使用していて稼働からしばらく経つとパフォーマンスに問題のあるプログラムが出てくることはよくあるかと思います。企業の大規模データを扱うのでパフォーマンス問題はどのプロジェクトでも避けては通れない道ですね。 ST12 プログラム実行結果…

【SAPエラー対処】 CONVT_CODEPAGEが出たら

タイトルのエラーが出たら、Trcd ST22でABAPショートダンプエラーを確認できると思います。詳細のエラーとしては・During conversion of text from code page 4110 to code page 4103・A character set conversion is not possible等と出ますので、文字コー…

【SAP Tips】テキストIDの定義や伝票のテキスト項目から値を取得、更新する方法

SAPの受注伝票、出荷伝票などにはテキスト項目があります。テキストとは通常の項目とは違い、テキスト形式で改行して複数行書くようなことも可能です。これら伝票のテキスト項目にはメモのように書き込んでおいて、帳票などに印字するような使い方が可能にな…

【ABAP Tips】テーブルメンテナンスの大文字小文字の制御

SAPのアドオンテーブルはSM30でデータの登録、変更、削除ができますが、小文字で入力したのに自動的に大文字に変換されることがあります。これを防ぐためには、カスタムドメインを作成してLower Caseにチェックを入れる必要があります。

【SAP Tips】Batch Inputの処理モード

SAPでBatch inputを処理する際の処理モード。 A 全画面表 E エラー照会 N バックグラウンド処理 P バックグラウンド処理(デバッグ可) 単純に処理したい場合はNでいいと思います。開発時など画面遷移確認したい場合はAで実行するとどのように進んでいるか分…

【ABAP Tips】実行画面にポップアップメッセージを出す方法

SAPで画面にポップアップメッセージを出力して後続処理に進むか戻るかを選択したいケースがあると思います。そうした場合はPOPUP_TO_CONFIRMの汎用モジュールを使用することで実現できます。汎用モジュールのインポートパラメータでポップアップに出力するメ…

【要注意】SAP標準テーブルを更新する方法

(adsbygoogle = window.adsbygoogle || []).push({}); 方法その①1. SE16Nで更新したいテーブルを開く2. コマンドフィールドに/hを入力してエンターを押下する(デバッグモードが開始する)3. 変数「GD-EDIT」、「GD-SAPEDIT」をXに変更する4. F8キーを押下上…

XLIPSのupdkz

「updkz」・・ 出荷伝票ヘッダの構造「XLIKP」にある項目で、その処理が登録か更新か削除かを判断できる。ABAP内で登録の場合だけ○○のロジックを入れたいなどの要件に対して、処理分岐として使用する(「I」・・登録、「U」・・更新、「D」・・削除)

Binary Search使うときは内部テーブルをSortするのを忘れずに

以前のプロジェクトで対外システムに送信しているインタフェースプログラムで正しくデータを取得できていないという障害があった。Read tableしているが、なぜか、、データがうまく取得できていない。。ABAPerではない私には正確な理由を突き止められなかっ…

【SAP Tips】SAP BADIについてのメモ

(adsbygoogle = window.adsbygoogle || []).push({}); SAP BADIとは?似たような言葉にBAPIがありますが、こちらはBusiness Application Interfaceの略でBADIとは異なる意味です。BAPIはSAP社が提供しているデータの登録、更新、取得をするためのAPIです。SA…