2008年12月24日水曜日

Batch Status Change

BAPI : BAPI_BATCH_SAVE_REPLICA

2008年12月21日日曜日

2008年11月18日火曜日

Change Base Unit of Measure in MM

One raw material we assigned base unit of measure as OZ, later add alternate unit of measure as ML.

Now I wanted to change the base unit to ML and alternaet to OZ. For that I deleted component from the BOM. Related PO's, Prd ord and demand are closed. Deleted the alternate unit from purchasing and plant/stock (Area were we assign the alternate unit), then try to change it giving message as Unit of measure ML used as alternate unit. (In additinal data screen still the alternate unit and conversion available)

By: Vidhya

You can do the following procedure (after deleting the material in all concerened documents):

1. Delete the uom from Unit of issue field (General Plant Data / Storage 1) in MM if you have mentioned it there.

2. Go to additional data , use delete line tab and delete the conversion factor by keeping the cursor on that line.

3. Come to main data, now change the base unit of measure to the required one.

4. Then give the alternative unit of measure, system will ask for conversion factor.

5. Then save

You can only change the base units of measure under the following circumstances:-
- No stocks are available for the material.
- There are no existing purchase requisitions, purchase orders, or scheduling agreements for the material.
- At present, no purchase orders or purchase order items are being created or changed.
If requests for quotations, purchasing info records, or contracts are available for a material, the system gives a warning while changing base unit of measure. Still if you want to change unit of measure specify in a dialog box the factor for converting the base unit of measure into the new base unit of measure. The purchasing info records are then, if necessary, updated.

1) If there are stocks in the previous period, you can clear them as follows:
a) Post the stock in the previous period to the current period e.g. 010799 (for example, using movement type 561) so that the stock for the previous period is the same as the stock for the current period.
b) Clear the stock with the posting date in the previous period e.g. 300699 (for example, using movement type 562).

2) If there are Open purchase requisitions, purchase orders, or scheduling agreements for the material.
- Run MM02 (Change Material Master immediately).
- Overwrite the old base unit of measure with the new one in basic data screen.
- Save the change.
- System checks
If a change criterion (MM02) is meeting all necessary prerequisites (as mentioned in point 1).System allows changing base unit of measure. Otherwise it displays warning or error. You can display the reason for this, by choosing Display Errors (ctrl+F1)

* 購買発注伝票がステータスが完了になっていても(請求書照合まで完了した)、削除フラグを立つ必要がある。
* 発注伝票が存在するであれば(ステータスが完了していない伝票のみ?)、削除する必要がある。出荷伝票、Shipment伝票などを登録済みであれば、逆順で削除する
* 削除した購買発注伝票に関しては、品目基本数量単位の修正を終わったら、削除フラグを削除するほうが万全
http://help.sap.com/erp2005_ehp_03/helpdata/EN/c6/8b3759987e11d194f600a0c930e0da/frameset.htm

2008年11月14日金曜日

Message 関連

① エラー或いはWarning message の内容を確認
② IDを確認できない場合、テキスト内容をT001で検索
③ 該当メッセージをSE91で「テキスト(長)」の内容を確認 → 対処する方法があるかも

2008年10月26日日曜日

PO Message Handle

購買伝票を作る際、システムが内部チェックでWarning,Errorメッセージを出している。これらを利用するため、以下のものを定義する必要がある。
・MM_MESSAGES_MAC
・cl_message_handler_mm
・T160M(参考テーブル)

Example:
DATA: l_msg_handler TYPE REF TO cl_message_handler_mm,
l_event TYPE REF TO cl_event_mm,
l_msg_txt TYPE string,
lt_event_list TYPE mmpur_event_list WITH HEADER LINE.

CALL METHOD cl_message_handler_mm=>get_handler
IMPORTING
ex_handler = l_msg_handler.

CALL METHOD l_msg_handler->getlist
* EXPORTING
* IM_EVENT_TYPE =
* IM_OBJECT =
* IM_NULL_OBJECT_VALID = MMPUR_NO
* IM_INCLUDE_CHILD_OBJECTS = mmpur_no
* IM_SEQUENCE =
IMPORTING
ex_events = lt_event_list[]
* EX_EVNT =
.

※ CALL METHOD l_msg_handler->GET_LIST_FOR_BAPI
であれば、明細単位のメッセージを取得できる

REFRESH gt_messages .
LOOP AT lt_event_list .
l_event = lt_event_list-event_obj .
CALL METHOD l_event->to_string
IMPORTING
ex_string = l_msg_txt
* EX_SIGNATURE =
.
APPEND l_msg_txt TO gt_messages .
ENDLOOP.

2008年10月2日木曜日

新規トランザクションの追加に伴うロール関係

・ロール変更の画面でトランザクションを追加
・どのメニューに存在するか調整できる
・PGの中に使っている権限オブジェクトを確認、それより権限オブジェクトを追加する必要かを確認
・各ロール毎に使えるトランザクションを定義しているので(権限オブジェクト:S_TCODE)、新規トランザクションを追加する
・集合ロールのメニューに手動でTRを追加、調整する必要がある

2008年10月1日水曜日

バリアント

開発機において、バリアントを登録する際、会社コードチェックなどの原因で登録できない場合がある。
⇒ ① SE38でPGを起動する
  ② 入力値を入れて、保存する(BreakPointを置き、チェックされるところを強制的に通せる)

2008年9月22日月曜日

トランザクションコード作成

・SE93
・トランザクションコードを実行する際のバリアントがあれば、ここで一緒に定義していく

2008年9月17日水曜日

通貨の処理

JPYの通貨型項目は通常本来の値の1/100で管理されている。データベースより取得して、桁数が違うので、変換する必要がある。
① 外部書式->内部書式変換
 CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
EXPORTING
currency = 'JPY'
amount_external = l_external_amount
max_number_of_digits = 15
IMPORTING
amount_internal = l_internal_amount.
② 内部書式->外部書式変換
 CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = 'JPY'
amount_internal = l_internal_amount
IMPORTING
amount_external = l_external_amount.

③ WRITE XXX TO XXX 'JPY'

参考サイト:http://abap.sblo.jp/article/15200739.html

2008年9月15日月曜日

購買伝票から出荷伝票作成

・BAdi利用:外部購買伝票の後続処理
・関連購買組織が販売組織に変更する
 メソッド:LE_SHP_DELIVERY_PROC~SAVE_DOCUMENT_PREPARE
     :LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM

SAP R/3管理系トランザクションコード

al05 ワークロードモニタ
al11 インスタンスプロファイル(パラメータ)を確認
db02 増大するテーブルを確認
db02 最近使用量増加の激しいテーブルを確認
db12 バックアップログの確認
db13 バックアップスケジューラ
db14 Oracleオプティマイザの統計情報更新ログ
db15 テーブルが属するアーカイブオブジェクト参照
db16 データベース容量確認
file 論理ファイルと論理パスのカスタマイズ
pfcg プロファイルジェネレータ
pfcg プロファイルジェネレータ
rz04 操作モード作成
rz10 R/3起動プロファイル設定
rz11 プロファイルパラメータ照会
rz20 警告モニタ
rz20 監視ツール
rz21 監視設定とアラートリアクションツールの定義
sara アーカイブ設定
sb09 ビジネスモデルの確認
sd11 データモデラ(照会,作成)
se09 ワークベンチオーガナイザ
se10 カスタマイジングオーガナイザ
se11 ABAPディクショナリの確認
se16 テーブルデータを確認
se30 実行時間分析
se37 汎用モジュールビルダ
sm04 ログオンユーザの確認
sm12 ロックの照会
sm13 更新ステータス照会
sm13 更新ステータス確認
sm21 R/3シスログ確認
sm21 R/3のシステムログ確認
sm35 バッチインプットジョブの確認
sm36 バックグラウンドジョブの登録
sm36 バックグラウンドジョブの設定
sm37 バックグラウンドジョブ実行結果の確認
sm50 トランザクションのステータス一覧を確認
sm50 ワークプロセス確認
sm51 R/3サーバ監視トランザクションの基点
sm59 RFC宛先の確認
sm62 イベント定義
sm64 SAPGUIから主導でのイベント
sm66 バックグラウンドプロセスの確認
spad R/3スプール管理
sq00 ABAPクエリを実行する
st01 権限トレース
st05 SQLトレース
st22 ABAPのショートダンプ照会
stun パフォーマンスモニタトップ画面
su01 ユーザ登録
su01 ユーザ管理
su53 はじかれた権限を表示・確認
su56 ユーザバッファにある権限照会
suim リポジトリ情報(権限など)の確認
sw02 ビジネスオブジェクトブラウザ(?)
wedi IDocとEDIに関する設定(?)
scc4 クライアント移送・変更・照会
scc4 クライアント移送・変更・照会
scc4 クライアント移送・変更・照会
se09 ワークベンチオーガナイザ
se10 カスタマイジングオーガナイザ
se01 移送オーガナイザ
se01 移送オーガナイザ
stms 移送管理システム
al11 R/3関連ディレクトリ構造確認
se06 インストール直後の移送システム初期化
sm59 RFC宛先の確認
se09 ワークベンチオーガナイザ
se80 開発クラス登録
se38 ABAPエディタ第1画面登録
spdd アップグレード時のABAPディクショナリ調整
spdd アップグレード時のABAPディクショナリ調整
spau アップグレード時のリポジトリオブジェクト調整
spau アップグレード時のリポジトリオブジェクト調整
se03 ワークベンチオーガナイザツール
spro カスタマイジングメニュー
scc1 カスタマイズ変更依頼を他のクライアントへコピー
sm31 テーブル内容参照
scc3 クライアントコピーの結果参照
sccl ローカルクライアントコピー
scc9 リモートクライアントコピー
scc5 クライアント削除
scc8 クライアント移送のためのエクスポート
se01 クライアント移送依頼の履歴確認
scc7 クライアント移送のインポート
scu0 クライアント比較
sm30 クライアント間の差異の調整
smlg ログオングループ作成
su03 権限照会
pfcg プロファイルジェネレータ
su01 ユーザグループ登録
su22 SAP標準権限テーブル(USOBT,USOBX)参照
su25 SAP標準権限テーブルコピー
su24 権限チェックの調整
supc コピーされた活動グループから権限プロファイルを再生成
suim 権限情報システム
rz20 警告モニタ(4.0)
rz21 監視ツールの登録
st11 開発者トレース
rz03 ディスパッチャキューのステータス確認
st03 サーバ負荷状況照会
sm64 イベントのトリガ
sm62 イベント定義
smx 自分のバックグラウンドジョブ確認
sm39 バックグラウンドジョブの統計情報
sm37 ジョブログ照会
scot SAPconnectの設定
db13 バックアップのスケジューリング
db14 DB操作の機能ID確認
db12 DBバックアップログ一覧
se11 テーブル登録
db16 データベースシステムチェックモニタ
db17 データベースシステムチェックのパラメータ設定
db02 データベースパフォーマンスなどの詳細情報照会
db21 オプティマイザ用統計情報を収集するテーブルの登録・参照・変更
st04 データベースパフォーマンス確認
st06 OSパフォーマンス確認
db01 ロックウェイトモニタ
st03 ワークロードモニタ
stun 各種チューニングのメニュー画面
stat 統計レコード情報
st06 オペレーティングシステムモニタ
st02 設定/調整バッファモニタ
st05 SQLトレース
se30 ABAPトレース(実行時間分析)
db01 データベースロックモニタ
st04 データベースパフォーマンスモニタ
db05 テーブルのdistinctカウント(索引作成支援)
st10 テーブルコール統計
sm13 更新中断の監視・再実行
sess セッションマネージャ用メニュー作成
smlg ログオングループの設定
sm32 バックグラウンドジョブのパフォーマンス分析
su02 ユーザプロファイルの確認

2008年9月10日水曜日

SMART FORM

Tr-Code: SMARTFORMS
① 名前を入れる
② 使用先汎用モジュールを見つける
③ 多国言語の場合、翻訳機能を利用する(SE63)

2008年9月4日木曜日

入庫時ロット番号付与

・購買発注時、新規ロット番号を作成することが可能
・入庫時も、新規ロット番号を作成可能

ロットレベルでの数量変換

汎用モジュール;
 MURC_ALL_BATCH_FACTORS_NEW

外貨レート関連

① 外貨レート作成; OB08
② 会社ロジ会計期間確認: MMRV
③ 会社ロジ会計期間移動(+):MMPV (会計側データ確認:OB52)
④ 会社ロジ会計期間移動(-):MMMPI (ノート:487381)の内容設定
変更する際、期間と会計年度を入力するところがあるが、間違いを発生しやすいなので、
  日付のほうに入力する。
⑤ 会社の会計期間確認:テーブル:T001(ロジ側の会計期間と違う場合がある)
⑥ システム自動的に以下の日付と関連する外貨レートを取得して、表示する:
   購買発注時:伝票日付
       入庫:転記日付
   請求書照合:転記日付
⑦ 請求書照合時、手動的にレートを入力するが可能:
   ・伝票のヘッダ部分の通貨コード、レートを入力する
   ・システム管理しているレートと差異があれば、警告メッセージが出てくる
   ・購買発注伝票番号を入力する
   ・他の情報を入力して、保存する
⑧ 外貨差異を計上する(特定の勘定科目に入れる)かどうか会社レベルで管理している。
   (TR:SPRO→請求書受領→換算レート差異の処理方法)
⑨ レート差異の勘定科目設定:内部処理キー:KDM

 

BADIの確認方法

例: 請求書照合
現象:転記する際、ある会社コードで許可されるが、ある会社でエラーメッセージを表示する。

確認手順:
 反方向確認
  ① 転記する前、デバッグ状態に入ってから、転記ボタンを押す。
  ② BreakPointを設置:Message
  ③ 関連BADIを確認
  ④ SE18、SE19
 正方向確認:
  ① SE18で検索
  ② SE19でソース確認

2008年8月21日木曜日

貿易関連

・Remittance Advice (送金通知)

・Payment Initiation (送金依頼)

・Clearing (送金)

・Credit Advice (入金通知)

・SI:shipping instruction (船積指図書)
 → サンプル:http://www.njh.co.jp/pc/binal/export/image/print-sample_shipping1.jpg

・Packing List (貨物の梱包明細書)
 パッケージごとに品名、個数、重量、Shipping Markなどを記載する。数量が少ない場合は、 Invoiceで兼用し、作成されない事もある。

・Invoice (送り状)
 Commercial Invoice(商業送り状)とOfficial Invoice(公用送り状)とがあり、単に Invoiceという場合には一般的にCommercial Invoiceを指す。品名、数量、価格、契約条件、契約単価などが記載されており、船積みされた貨物の明細を現わすとともに、代金の決済、輸出入申告などもInvoiceをベースに処理される。

・S/A :Shipping Advice 船積案内書
 貨物の船積み完了後、荷送人(輸出者)が荷受人(輸入者)に対して発行する書類の一つ で、注文番号、品名、数量、金額、船名、出港日、B/L NO、など、船積みの明細が書かれている。

・Certificate of Origin 原産地証明書
 貨物の原産国を証明した書類。日本から輸出する場合は、商工会議所で発給を受ける。輸入の場合は、通常、特恵税率の適用を受ける為に必要な証明書を指し、原産国の税関(国によっては、官公署など他の機関の事もある。)が、その物品の輸出の際に発給する。日本では、UNCTAD(国連貿易開発会議)での合意に基づく国際的に統一された様式“Form A”の原産地証明書以外のものでは、特恵税率の適用は受けられない。

・Proforma Invoice(見積送り状)
 売買契約を結ぶまえに、売り手が買い手に対して与える、試算用送り状のことをいう。仮送り状ともいう。この書類を、買主(輸入者)が輸入通関のために使用することもある。



参照サイト:http://bouekijouhou.com/2006/01/_shipping_instruction.html

2008年8月15日金曜日

翻訳

違う言語環境のPG対応
① それぞれの開発環境で関連するテキストシンボルなどの内容を編集する
② Tr:SE63で関連するオブジェクトの翻訳内容を記入する(SAPのお気入りに表示する内容)
③ 名前以外に変更部分がなければ、SE93(トランザクションコード更新)で該トランザクションを対象に強制的移送を作る(名前変更の内容はトランザクションに紐付いている)
④ SMARTFORMS関連内容の翻訳もSE63機能でカバーできる
 事例:SMARTFORMS テキストモジュールの中国語関連内容を直接入力すると、文字化けをする(Enterprise)
 対処方法:同じ表示内容を一旦日本語で入力する。翻訳機能で該当内容を中国語に翻訳する
 TR:SE63 
   翻訳→ SAPオブジェクト → 他のテキスト→ FSファームとスタイル → SSF スマートフォーム

2008年8月14日木曜日

ポイントシステム

ポイントシステムを用いて決定される合意条件にもとづいて、支払い金額を設定することができます。これにより、仕入先によって供給される品目に対して、価格とは独立して加重値を与えることができます。

例:仕入先スミスは、品目 “ 鋼鉄 1” に対して 1 個当たり $100 、 “ 鋼鉄 2” に対して 1 個当たり $500 請求します。この仕入先に、 12 ヶ月間に発注した品目が 100,000 ポイント以上の場合、年度末に購買総金額の 3% がインセンティブリベート ( 溯及累計割引 ) として割戻される条件になっています。この期間中、品目 “ 鋼鉄 1” は 1 個につき 10 ポイント、品目 “ 鋼鉄 2” は 1 個につき 20 ポイントが与えられます。
発注する際、年度末までに 100,000 ポイント獲得するには “ 鋼鉄 1” と “ 鋼鉄 2” をどれだけ発注すればいいかを考慮に入れることができます。このようにして、リベートを受ける基準を満たすことができます。

関連テーブル: 
① 購買情報:EINA 
② 購買伝票明細:EKPO

2008年8月5日火曜日

入出庫伝票出力

入出庫伝票の出力:
・伝票登録、或いは照会モードでヘッダの一般タブにプリンタのアイコンを押すと、出力できる
・出力をコントロールするカスタマイズ部分は主に以下の内容である:
 ① 移動タイプの明細印刷
 ② 印刷管理(印刷区分を設定する)
 ③ 出力決定(出力決定表関連を設定する)

関連テーブル:NACH B901

2008年7月30日水曜日

JOB設定

・SM36 JOB設定(JOB設定者、JOB実行者を別々に設定することが可能)
・SM37 設定したJOBを確認(確認する内容はデフォルト値として、同じ開発機、検証機、本番機全クライアントの内容であり、表示形式の編集により、各クライアントの内容を確認できる)

2008年6月19日木曜日

Password強制変更

TR:RZ10
パラメータ名:login/password_expiration_time
関連ノート:2467

注意点:
① ジョブや他システムとの通信に関するユーザーは全て"システムユーザー"として定義する
② 有効化するために、SAPの再起動を行う

例:変更を120日と定義して、有効化のための再起動をした直後ですが、  以前のパスワード変更が120日より前であったユーザーは、有効期間の有効化後に即変更を求められるという仕様です。
 →  ユーザーAの最近のパスワード変更が 2008/1/1
    ユーザーBの最近のパスワード変更が 2008/7/1
  有効期間120日という設定を 2008/8/1 に有効化する。
  ユーザーAは、2008/8/1 にパスワード変更を即要求される。
  ユーザーBは、7/1から120日経過するまでは変更を要求されない。

2008年6月4日水曜日

過剰納入無制限

POを作るとき、過剰納入を無制限にするフラグがあるが、自動提案を設定することができる:
① 品目マスタの購買管理タブ
② 購買情報の購買組織データ

2008年6月3日火曜日

住所変更の対応

住所変更を発生する時、以下のところに設定を入れる必要がある:
・会社コード
・プラント
・保管場所
・販売組織
・営業所
・営業グループ
・購買組織
・購買グループ
・仕入先
・得意先

2008年5月29日木曜日

Spoolの制御

SP01で他の部署が出した内容を見せたくない場合(SP02は自分のものしか見れない)
→ SP01 とSP02の中間みたいの機能を実現したい
①スプール依頼(SP01o)のトランザクションをコピーし、バリアントトランザクションを設定
②①でセットしたトランザクションをロールに割りあって、担当者に権限変更

2008年5月13日火曜日

品目制限と受注不可品目

品目制限と受注不可品目によって、特定の得意先が購入可能な品目または購入不可能な品目を管理することができます。

たとえば、特定の得意先に対して品目制限を登録した場合は、各得意先が発注できるのはその一覧に登録されている品目に限られます。また、特定の得意先に対して除外品目のマスタレコードを登録することもできます。除外品目のマスタレコードを登録すると、該当する得意先は除外品目を注文できなくなります。

品目制限は、販売管理の 2 つの取引先機能、受注先と支払人に適用されます。
・受注先に品目制限が登録されている場合、受注先の品目制限のみ確認されます ( 他のチェックは行われません ) 。
・受注先に品目制限が未登録で支払人に登録されている場合には、自動的に支払人の品目制限が確認されます。
・受注先にも支払人にも品目制限データが登録されていない場合には、得意先はあらゆる品目を発注することができます。

設定方法:販売管理管理機能のカスタマイジング

2008年5月7日水曜日

販売サマリ

1.販売サマリとは
 得意先マスタや統計データなどの複数の情報源から要約した情報である。
 HTMLフォーマットの拡張バージョン:営業活動と住所一覧で使用することができる
 標準バージョン:得意先または一般特性のグループ情報を照会するために使われる
2.構造
 ・ヘッダ:ビューとブロック
 ・本体:特定の得意先に関して広範なデータを照会する情報具ロックが含まれる
3.設定項目
 ・IMG
  >販売管理→販売サポート→販売サマリ
 ・ロジスティクス→販売管理→販売サポート→情報システム→販売サマリ

2008年5月1日木曜日

クロス販売

1.クロス販売とは
 ある品目が発注された時、関連する品目を表示し、すぐに得意先に示すことができ、そのまま受注処理を行えることから、セールス活動の効率化を図る機能である。
2.設定項目
 ・IMG
  >クロス販売決定表
  >クロス販売の取引先/伝票決定表
  >定義/割当:クロス販売プロファイル
 ・得意先マスタ変更
 ・クロス販売マスタ設定(VB41)

动态查询数据库并返回结果

汎用モジュール:RFC_READ_TABLE

2008年4月28日月曜日

バリアント

機能:
 1.初期値提案 2.表示制御
種類:
 1.レポートバリアント 2.トランザクションバリアント

1.レポートバリアント
 ①登録方法:SE38、レポート実行画面
 ②登録内容:値、属性(保護、非表示、必須項目、選択変数)
  選択変数:TVARV(クライアント非依存)、TVARVC(クライアント依存)、動的日付計算
 ③レポートバリアントの移送

2.トランザクションバリアント
 ①登録方法:SHD0
 ②登録内容:値、属性、メニュー
 ③トランザクションコード登録:バリアントの割当 SE93

2008年4月23日水曜日

Field-Symbol

例: 
 ・モジュールのI/Fにテーブル名を引き渡す
 ・テーブルをField-Symbolにアサイン
 ・ループField-Symbol

 DATA: GFC_TABNAME type tabname.
  Form_export_excel using pfc_tabname structure GFC_TABNAME.

  Field-symbols:
  type any table,
  type any.
  Assign (pfc_tabname) to .
  Loop at assigning .

2008年4月9日水曜日

SAP R/3 のテーブル、TR

テーブル:
   ・ TSTCT : トランザクションコードテキスト   ← トランザクションを検索できる
→ 購買管理系:MB*, M* (例 MB52 : 在庫金額照会)
→ 販売管理系:VA*,
   ・ DD03L : テーブル項目            ← テーブルを検索できる
   ・ TADIR: リポジトオブジェクトのディレクトリ ← PG関連情報を検索できる

TR:
   ・ SE39 : ABAP分割画面エディタ      ← PGを比較する時便利
   ・ SP01 : SPOOL管理、印刷管理       ← データをダウンロードする時
   ・ SP02 : SPOOL管理、印刷管理       ← SP01と似ているが、自分のものし                            か見れない
   ・ SM30 : ビュー更新呼出      ← カスタマイズテーブル内容削除
   ・ T001: 会社関連情報
   ・ T001K: 会社コードとプラントの関係(会社コード ←→ 評価エリア)

参考資料:
http://www.bylife.net/index.php/11474/spacelist-blog-itemtypeid-246.html

2008年4月8日火曜日

ヒートポンプ


 ヒートポンプというのは、ヒートとポンプからの合成語であり、意味もそのまま、熱を移動するための装置あるいは技術である。地球温暖化を進む現在、有望な技術の1つと注目されている。
 ヒートポンプの技術原理は触媒を利用して、加圧と減圧により、熱の吸収と放出を行う。これで冷房と暖房の効果を得られる。効率を図るため、COPという指標を利用される。これは、エアコンが消費する電力にたいして、どれだけの冷暖房をできるかを示すものである。現在、もっとも効率のよいエアコンだと、COP=6以上の水準にある。従来の暖房機器の燃料を燃やすという方式はどんなに効率がよくても、燃料を持つエネルギー以上の暖房を出すことを不可能である。
 この十年間、ヒートポンプの技術の進化に伴って、効率が2倍以上に向上した。ヒートポンプを使うと、より省エネ、CO2削減、省コストに達成できる。

 

2008年3月31日月曜日

ALV形式でレポートを出力

① フィールドカタログ取得
   CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
② ALVレイアウト作成
   GC_LAYOUT-COLWIDTH_OPTIMIZE = GCST_ON "カラム幅調整
   GC_LAYOUT-ZEBRA = GCST_ON "ゼブラ
   GC_LAYOUT-DETAIL_POPUT = P_DETAIL "詳細表示
③ ALV出力
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

通貨を表示する時、
① 当項目が通貨であることを宣言
② 当通貨が参照していいる通貨はなんであるか宣言する(etc. JPY? USD? MSEGの通貨科目)
  

メッセージ管理

メッセージ管理テーブル:T100

2008年3月25日火曜日

ローカルファイルの選択方法

・ ローカルファイルを指定する際には、選択画面でファイルパス+ファイル名の形で入力する
・ XXXファイルのドロップダウンが押下さるた場合、GUIでローカルファイルを選択する
Sample:
① 画面ファイル名を取得
<汎用モジュール>
  GET_DNYP_VALUE
<受け渡しパラメータ>
   I_FIELD : 選択画面で指定されたローカルファイル
   I_REPID : SY-CPROG(ABAP プログラム、外部プロシージャの呼び出し元)
  I_DYNNR: SY-DYNNR(ABAP プログラム、現在のDynpro番号)
<受取パラメータ>
  O_VALUE  → LC_FILE
② ディレクトリパスの算出
  SEARCH LC_FILE FOR GC_PATH ← ¥
  WHILE SY-SUBRC = 0.
    FIND GC_PATH IN CECTION OFFSET LI_OFF OF LC_FILE
    MATCH OFFSET LI_LEN.
    IF SY-SUBRC = <> 0.
      LC_FILE = LC_FILE+0(LI_OFF).
     ELSE.
      LC_OFF = LI_LEN + 1.
    ENDIF.
  ENDWHILE.
③ ファイル名選択
<汎用モジュール>
  TMP_GUI_FILE_OPEN_DIALOG
<受け渡しパラメータ>
   WINDOW_TITLE : 固定値(アップロードファイルetc.)
  DEFAULT_FILENAME: 選択画面上で指定したローカルファイル
  FILE_FILTER: 固定値(*.TXT etc.)
  MULTISELECTION: SPACE(固定値)
  INITIAL_DIRECTORY: ②で取得したファイルパス
<受取パラメータ>
  FILE_TABLE
  RC
   → RCが-1でない且つ処理が正常に終了した場合、FILE_TABLEの1行目からファイル名を取得する

※ ファイル選択メソッドも使える
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

サーバ上のライル指定方法

・ サーバ上の処理対象ファイルのパスを「XXXデータファイルパス」で指定する
・ サーバ上の処理対象ファイル名を「XXXデータファイル名」で指定する
実装Sample:
汎用モジュール: FILE_GET_NAME_USING_PATH、XXXデータファイルの物理ファイルパスを取得する。
<汎用モジュール>
 FILE_GET_NAME_USING_PATH
<受け渡し項目>
 論理パス : 選択画面上で指定されたファイルパス
 ファイル名: 選択画面上で指定されたファイル名
<取得項目>
 パス付きのファイル名

2008年3月19日水曜日

BAdiについて(1)

 ユーザーEXIT、カスタマーEXIT、ビジネスアドイン(BAdi)、OPEN FIなど拡張の技術は様々であるが、これらが存在する理由としては、企業固有の業務や特殊なロジックを標準のR/3の機能だけで表現していくには限界があり、それを実現していくのユーザーモディフィケーションである。
 各手法の自由度、実装方法は違うが、バージョンアップ、ノート適用、バッチ適用などの影響を最小限にするため、BAdiはよりスタンダード的な技術になっていく。

BAdiの実装方法
① 定義[SE18]
② 実装[SE19]
③ クラスビルダ[SE24]
④ 実装の有効化[SE24]

BAdi定義の検索方法
①[SE84]
②実装内容確認:
 i.SE37 SXV_GET_CLIF_BY_NAME
ii.確認TRを起動

2008年3月12日水曜日

ABAPからPDFファイルを作成する

用件: 
・ レポートをバックグラウンド処理にてPDFファイルとしてファイルサーバーに保存する

方法:
・汎用モジュールCONVERT_ABAPSPOOLJOB_2_PDFを実行
(参照PG:PTRA_WEB_EXPENSE_FORM_PDF_GET)

手順:
 1. ファイルサーバーに臨時保存ファイルののパス、ファイルを作成する
    ・ パス、ファイル名を指定して、Commondの Open、Transferを利用してファイルを作成する
 2. スプールを作成する
  ① GET_PRINT_PARAMETERSを利用して、パラメータをセットする
     取得値: DATA_SET  ← スプールテーブル名の初期値
           LIST_NAME ← スプール依頼名の初期値
           OUT_PARAMETERS ← コールされた印刷パラメータ一覧
  ② スプールを作成する(SUBMIT rep TO SAP-SPOOL)
     例:
       SUBMIT XXX
           TO SAP-SPOOL
           SPOOL PARAMETERS OUT_PARAMETERS
           WITHOUT SPOOL DYNPRO
           AND RETURN.
    ・ABAP 命令の NEW-PAGE PRINT ON を使用し 、レポートからの印刷機能を有効にし、ス 
     プールを作成する方法もある。
 3. スプールIDを取得する(汎用モジュール:RSPO_FIND_SPOOL_REQUESTS)
     I/F: DATA_SET、LIST_NAME
     取得値: L_SPOOL_IDS
 4. スプールをPDFに変換する(汎用モジュール:CONVERT_ABAPSPOOLJOB_2_PDF)
     I/F: SRC_SPOOLID = 'XXX' "  ← 3.で取得したスプール番号
 5. 汎用モジュールDOWNLOADを利用して、PDFファイルを取得する


問題点: サーバーへ格納するのは直接DOWNLOADを利用できるかなぁ?

→ 
① サーバーへ格納する時、OPEN DATASETとTRANSFERを利用する
EXAMPLE:
LC_OUTPUT_FILE_PATH = '/SAP/UP/TESTPDF.PDF.
OPEN DATASET LC_OUTPUT_FILE_PATH FOR OUTPUT IN BINARY MODE.
LOOP AT LIT_PDF_TABLE INTO LFC_PDF_TABLE
TRANSFER LFC_PDF_TABLE TO LC_OUTPUT_FILE_PATH.
ENDLOOP.
CLOSE DATASET LC_OUTPUT_FILE_PATH.

② GUI_UPLOADはローカルのファイルを内部テーブルに格納する

2008年3月5日水曜日

アプリケーションサーバへタブ区切りでファイルを出力する

1. 出力内容をタブ区切りでセットする
2. 出力内容をアプリケーションサーバのファイルへ渡す

CONSTANTS:
GCST_TAB TYPE C VALUE CL_ABAP_CHAR_LTILITIES=>HORIZONTAL_TAB.

CONCATENATE A B C
INTO D
SEPARATED BY GCST_TAB.

TRANSFER D TO LC_FILE_PATH.

2008年2月28日木曜日

MMPV: 会計期間締め:品目マスタレコード

目的:R/3システムの会計期間を変更することができる。(次月へ更新される)

関連するTR:
① MMRV(前会計期間転記可能) ← 現在開いている会計期間を確認
② OB52(会計上会計期間OPEN)

③ テーブル:T001(会社コード)← 会計年度バリアントを確認(例:会計期間 4月~3月 V3)

2008年2月27日水曜日

画面上にチェックボックスを選択された内容を呼出

手順:
  1.  画面内容を書く時、取得しよう内容を格納する
  2.  Readを使って、チェックボックス選択された行を割り出す
例:
  WRITE: 010 GFC_AAA
020 GFC_BBB
HIDE: GFC_AAA
GFC_BBB
READ LINE LI_LINE FIELD VALUE GC_CHECKBOX.
IF GC_CHECKBOX = "ON".
READ LINE LI_LINE FIELD VALUSE GFC_AAA
. ....

2008年2月24日日曜日

搜索ABAP程序代码

比如想知道哪些自己开发的程序调用了MIGO,或者使用了某一语句,可以用RPR_ABAP_SOURCE_SCAN来搜索。
它可以搜索ABAP程序,也可以搜索Screen flow logic
这个程序是系统自带的,这里只是说有这么一个程序。

2008年2月19日火曜日

F4ヘルプ表示

検索ヘルプでテーブルの内容を表示させる:

モジュール名:F4IF_INT_TABLE_VALUE_REQUEST

例:
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ZZVCHID'
DYNPROOG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'ZZVCHID'
VALUE = LC_VALUE          ← LC_VALUE = PC_ZZVCHID
VALUE_ORG = 'S'
TABLES
VALUE_TAB = LIT_ZZVCHID_HELP ← MASTER_ ZZVCHID
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.