2日目[毎日のSAPのヒントを学ぶ] - ABAP 7.40新しい構文を - テーブルに

ABAP 7.4構文の後に、内部テーブル式について学ぶために今日:

SELECT FROM  MARA  INTO  TABLE  @DATA  gt_mara 
UP  TO  10  ROWS DATAは  gt_mara_sort  TYPE  SORTED  TABLE  OF  MARAを  WITH  UNIQUE  KEY  PRIMARY_KEYコンポーネントMATNR
旧语法
DATA LV_MATKL TYPE MARA-MATKL。 READ GT_MARA INDEX 1 INTO DATA (LS_MARA)。
READ  表  gt_mara_sort  INTO  DATA ls_mara_sort1 ) INDEX  。1  USING  KEYの  PRIMARY_KEY
ザREAD  TABLEが  gt_mara_sort  INTO  DATA ls_mara_sort2 )  WITH KEY  MATNR  'AT001' ザIF SY-SUBRCは0ザのEQである  LV_MATKL = LS_MARA_SORT2-MATKL。ENDIF。 



新しい構文 DATA(LS_MARA_NEW)= GT_MARA [ 1 ]。
DATA ls_mara_sort1_new)  gt_mara_sort1 [  KEYの  PRIMARY_KEY  INDEX  。1  ]
「gt_mara_sort係るMATNRバイナリサーチに従ってソートされた場合
DATA
ls_mara_sort2_new )  gt_mara_sort2 [MATNR  'AT001'  ]

DATA(LV_MATKL_NEW)= GT_MARA_SORT2 [MATNR = 'AT001'] -MATKL。
 
 
「いくつかのデータがあるかどうかを確認してください
"古い構文
READ  TABLEのgt_maraの  TRANSPORTING  NO  FIELDS  WITH  KEY MATNR  'AT001'
"新しい構文のチェックline_exists(gt_mara [MATNR = ' AT001'])。

" を含む得られた直線のデータテーブル

" 古い構文は、
DATAは lv_tabix TYPE SY- TABIXを。
 READの  NO輸送するgt_mara FIELDS  WITH KEY MATNR = ' AT001 ' ザ・IF SY-SUBRC EQ  0 
  Lv_tabix = SY- TABIX。
 ENDIF 

新規作成構文
DATA(lv_tabix_new)= line_index(gt_mara [MATNR = ' AT001 ' ])。

注:GT_MARAが直接行ったときにデータがMATNR =「AT001」に存在しない場合 

DATA (LS_MARA )  = GT_MARA [MATNR  「AT001は」]
ダンプにプログラムを引き起こす、それは一般的に次のように書かれています:

ASSIGN gt_mara [MATNR = ' AT001 ' ] TO  FIELD -symbol(<FS> )。
IF SY-SUBRCのEQ  0 *   ... 
ENDIF

 - TABラーニング・テクノロジーズの愛の生活

おすすめ

転載: www.cnblogs.com/jxzhu/p/11811589.html