三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!
博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
登場人物紹介
三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!
博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
この記事を読むメリット
プログラムの中で定義されているテキストシンボルを一括で検索したいのに、どうやれば良いのか分からないわね…
おそらくSAPではプログラムのテキストシンボルや選択テキストを検索するプログラムは無いのじゃ。
ワシが使っておるアドオンプログラムをコッソリ伝授するので使ってみるとよいぞ!
SAPの保守プロジェクト等では、プログラム内で”ある文字列”が使用されていないか確認したい場合があります。
その際にプログラムのテキストエレメント(テキストシンボルや選択テキスト)等の設定値も調べた方が良い場合もありますが、標準の機能だけでは良い調べ方は現状無さそうです…。
本記事ではそんな調査をする際に使えるツールとして、“プログラムに設定されているテキスト情報を取得できる”アドオンプログラムを紹介します。
新着のSAPフリーランス案件
【FI】
S/4HANAへのバージョンアップ支援(Jrコンサル可)
【PP】
メーカー向けSAP移行プロジェクト支援
【MM】
【SD】
製造業向けロジ領域の運用保守支援
【BASIS】
【MM】
【SD】
製造業向け運用保守支援支援
【CO】
【FI】
【MM】
【PP】
【SD】
大手メーカー社向けSAP導入支援
【FI】
商社向け基幹システムバージョン支援
【FI】
SAP運用業務支援
【FI】
SAP導入プロジェクト支援
【FI】
光学機器 S/4HANA導入テスト支援
【CO】
一般消費財メーカーS/4 HANAバージョンアップ
当ツールで調べられるテキスト情報はそれぞれのプログラムに紐付く以下の情報を取得することが可能です。
当機能はプログラムのタイトル・テキストシンボル・選択テキストのみが調査可能です。
プログラムで平文で記載されている文字列は対象外となります。
実際のプロジェクトでの調査では、同時にプログラムの中の文字列検索も必要なことが多いのじゃ。
その方法は以下で解説しているので要チェックだぞい!
早速じゃが、アドオンプログラムを教えちゃうぞい!
T-CODE:SE38から新規プログラムを作成して以下コードをコピペして使用するのじゃ!
REPORT zxxxxxxx. " 実際のプログラム名に修正してください
TABLES :rs38m,textpool.
* データ定義
DATA : BEGIN OF i_tab OCCURS 0,
name TYPE progname,
langu TYPE t002-spras.
INCLUDE STRUCTURE textpool.
DATA : END OF i_tab.
DATA : texts LIKE textpool OCCURS 50 WITH HEADER LINE,
w_text LIKE textpool.
DATA : it LIKE LINE OF i_tab OCCURS 0,
lines TYPE i,
myalv TYPE REF TO cl_salv_table,
myfunctions TYPE REF TO cl_salv_functions_list,
mycolumns TYPE REF TO cl_salv_columns_table,
langu TYPE t002-spras.
* 選択画面
SELECT-OPTIONS :
s_langu FOR langu,
s_zprg FOR rs38m-programm.
* 主処理
START-OF-SELECTION.
SELECT spras
FROM t002
INTO TABLE @DATA(it_langu)
WHERE spras IN @s_langu.
SELECT progname
FROM reposrc
INTO i_tab-name
WHERE progname IN s_zprg.
LOOP AT it_langu INTO DATA(wa_langu).
REFRESH texts.
READ TEXTPOOL i_tab-name INTO texts LANGUAGE wa_langu-spras.
LOOP AT texts INTO w_text .
MOVE-CORRESPONDING w_text TO i_tab.
i_tab-langu = wa_langu-spras.
APPEND i_tab TO i_tab.
ENDLOOP.
ENDLOOP.
ENDSELECT.
it[] = i_tab[].
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = myalv
CHANGING
t_table = it[].
CATCH cx_salv_msg.
ENDTRY.
DESCRIBE TABLE i_tab LINES lines.
MESSAGE s001(00) WITH lines '件見つかりました'.
mycolumns = myalv->get_columns( ).
mycolumns->set_optimize( ).
myfunctions = myalv->get_functions( ).
myfunctions->set_all( ).
CALL METHOD myalv->display.
選択項目の「s_langu」や「s_zprg」は必要に応じて選択テキストを設定して下さい。
(※SE38のプログラム編集画面から「ジャンプ->テキストエレメント」で表示可能)
昔拾ったプログラムを必要なところだけを改変したので変数定義やデータ取得の構文にバラつきがあるのじゃ~
あくまで開発機で試せる便利ツールという位置付けで使うとよいぞ!
選択画面で対象の言語とプログラム名を選択して実行します。
実行結果は以下のようにALV形式で一覧で出力され、テキスト列にプログラム固有に設定されているテキスト情報が出力されます。
表示項目「ID」について
ID列の値はテキストの種別を現しています。
あとはALVの結果をダウンロードしてExcelで該当の文字列を探すもヨシ。フィルター機能を使って文字列を探すもヨシなのじゃ!
プログラムに紐付くテキスト情報を取得する便利ツールの作り方は以上じゃ~!
新着のSAPフリーランス案件
【FI】
S/4HANAへのバージョンアップ支援(Jrコンサル可)
【PP】
メーカー向けSAP移行プロジェクト支援
【MM】
【SD】
製造業向けロジ領域の運用保守支援
【BASIS】
【MM】
【SD】
製造業向け運用保守支援支援
【CO】
【FI】
【MM】
【PP】
【SD】
大手メーカー社向けSAP導入支援
【FI】
商社向け基幹システムバージョン支援
【FI】
SAP運用業務支援
【FI】
SAP導入プロジェクト支援
【FI】
光学機器 S/4HANA導入テスト支援
【CO】
一般消費財メーカーS/4 HANAバージョンアップ
SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!
SAPラボのライターの特徴
・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!
SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。
募集要項
・SAP導入や運用保守プロジェクトへの参画経験1年以上
ご応募/お問合せ先
info@sap-labo.com
少しでもご興味ある方、ぜひお気軽にご連絡下さい!
株式会社Luxy(https://luxy-inc.com/company_info/)と株式会社アガルートITパートナーズ(https://agaroot-itp.com/about/)の代表取締役。
新卒でSAPエンジニアとして働き始める。副業で事業を開始したのち、2015年に独立しシステム開発会社を設立。SAPの案件に従事しつつシステム開発事業を成長させ、2021年に会社をバイアウト。その後も創業会社とグループ会社で代表を兼任。
SAPエンジニア・コンサルタント歴は10年以上。
一緒に「SAPラボ」を盛り上げてくれる副業ライター(SAP経験者)を募集してますので、お問い合わせよりお願いします!