コンテンツフレーム起動

バックグラウンドの文書化  ユーザ固有プログラムのタスクとしての挿入 文書を SAP ライブラリストラクチャに組み込む

使用

トランザクションを変更することなく、トランザクションを直接タスク計画に含めることができます。

ユーザが固有のプログラムを定期的に実行している場合、プログラムを拡張すると、フロー定義 ( ワークフロー) でもこのプログラムが使用可能になるため、モニタで処理ステータスを確認することができるようになります。

ワークリストを使用するプログラムの場合は、ジョブ監視に対するプログラミングガイドラインとフロー定義が一致している必要があります。この場合、プログラムを更に拡張する必要があります。  

手順

ユーザ固有プログラムのモニタへの接続

標準装備のプログラム CUSTOMER_REPORT を利用することができます。これにより、最も簡単なモニタへの接続 ( ワークフロー接続なしの接続) を可能にする 2 つの汎用モジュールを呼び出す方法が示されます。  

2 つのインクルード SCHEDMAN_INIT SCHEDMAN_CLOSE をプログラムの中で統合します。プログラムがジョブ監視に接続されます。    

フロー定義に対するユーザ固有プログラムの利用

フロー定義でもユーザ固有プログラムを利用したい場合は、インクルード RKASMAWF を選択画面で統合する必要があります。  

処理の開始時に、以下のコーディングを、インクルード SCHEDMAN_INIT の代わりに インストールします。

                                                                  

data: gs_key    like schedman_key.                                      

data: ls_detail like schedman_detail_user.                              

data: ls_appl   like schedman_customer.                                 

data: ld_dummy(20) value 'ABCDEFGHIJKL'.                                

constants: customer_appl like smmain-application value 'CUSTOMER'                                                                             

   ls_detail-application  = customer_appl.                              

   ls_detail-repid        = sy-repid.                                   

*  ls_detail-testflag     = true.    "Decide if testrun or not          

   ls_appl-customer_field = ld_dummy.                                   

                                                                        

   CALL FUNCTION 'KPEP_MONI_INIT_RECORD'                                

        EXPORTING                                                       

             LS_DETAIL        = ls_detail                                

*            LS_WITEM         =                                         

             LS_APPL          = ls_appl                                 

*            LD_WORKLIST_FLAG = ' '                                     

        IMPORTING                                                        

             LS_KEY           = gs_key.                                 

*      TABLES                                                          

*            LT_SELKRIT       =                                          

*            LT_PARAM         =                                          

                                                                        

構造 SCHEDMAN_CUSTOMER では、実行時間にユーザが値を書き込む、ユーザ独自の項目を定義することができます。

処理の終了時に、以下のコーディングを、インクルード SCHEDMAN_CLOSE の代わりに インストールします。

                                                                        

data: ld_aplstat    like smmain-aplstat.                                

data: LS_SCMA_EVENT LIKE SCMA_EVENT.                                    

constants: c_status_ok                  value '0'.                      

constants: c_status_undefined           value '2'.                      

constants: c_status_error               value '4'.                     

 constants: c_status_aborted             value 'A'.                     

 include schedman_events.                                               

                                                                        

 *.decide the status you want to send                                   

   ld_aplstat = c_status_ok.                                            

 * ld_aplstat = c_status_undefined.                                     

 * ld_aplstat = c_status_error.                                         

 * ld_aplstat = c_status_aborted.                                        

                                                                        

 *.If the report ended with error -> stop whole workflow. Otherwise     

 *.start the next job                                                   

   if ld_aplstat = '4' or ld_aplstat = 'A'.                             

      ls_scma_event-wf_event = cs_wf_events-error.                      

   else.                                                                

      ls_scma_event-wf_event = cs_wf_events-finished.                   

   endif.                                                               

                                                                        

 *.the variables wf_witem and wf_okey                                    

 *.are from include RKASMAWF and are filled AUTOMATICALLY               

 *.fill them into strcuture ls_scma_event                               

   ls_scma_event-WF_WITEM = wf_witem.                                   

   ls_scma_event-WF_OKEY  = wf_okey.                                    

                                                                        

   CALL FUNCTION 'KPEP_MONI_CLOSE_RECORD'                               

        EXPORTING                                                        

             LS_KEY           = gs_key.

 *           LS_MESSAGE    =                                            

 *           LD_OBJECTS    =                                            

 *           LS_EXT        =                                             

 *           LS_RL         =                                            

             LS_SCMA_EVENT = ls_scma_event                              

 

 *      TABLES                                                          

 *           LT_SPOOL    =                                              

        CHANGING                                                        

             LD_APLSTAT  = ld_aplstat                                   

        EXCEPTIONS                                                       

             NO_ID_GIVEN = 1                                            

             OTHERS      = 2.                                           

 注記

フロー定義に含めるプログラムに関しては、次の点に注意してください。

         クロスアプリケーションプログラムの場合は、アプリケーションとともにすでに保管されているプログラムをコピーしてから、新規のプログラムを新規アプリケーションとともにテーブル SCMAPROG に保管する必要があります。      

スケジュールマネージャで、得意先プログラムとしてプログラム名を入力します。追加情報は、ユーザ固有プログラムのタスクとしての挿入を参照してください。

これらの設定を使うと、ユーザ固有のプログラムをフロー定義に含めて、モニタで結果を確認することができます。                                                                 

 

 

 

コンテンツフレーム終了