Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7203133
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2008-04-25 16:51:46

REPORT  z_barry_test_selection    .
DATA: tabfield TYPE rstabfield ,
      itab_bukrs TYPE RANGE OF bukrs WITH HEADER LINE .

START-OF-SELECTION.
  tabfield-tablename = 'T001' .
  tabfield-fieldname = 'BUKRS' .

  CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
    EXPORTING
      text              = '公司代码'(001)
      tab_and_field     = tabfield
    TABLES
      range             = itab_bukrs[]
    EXCEPTIONS
      no_range_tab      = 1
      cancelled         = 2
      internal_error    = 3
      invalid_fieldname = 4
      OTHERS            = 5.

  LOOP AT itab_bukrs.
    PERFORM write_wa USING itab_bukrs 'XXXX' 'X'.
  ENDLOOP.

*&---------------------------------------------------------------------*
*&      Form  write_wa
*&---------------------------------------------------------------------*
FORM write_wa USING wa fieldmask newline.
  DATA: str TYPE string ,
        str_idx TYPE string ,
        f_index TYPE i ,
        f_len TYPE i .
  FIELD-SYMBOLS: .
  f_len = STRLEN( fieldmask ).
  IF newline = 'X'. WRITE  / ''.ENDIF.
  POSITION 1 .
  DO .
    ASSIGN COMPONENT sy-index OF STRUCTURE wa TO .
    IF sy-subrc <> 0 OR sy-index > f_len.
      EXIT.
    ELSE.
      str_idx = sy-index .
      CONDENSE str_idx.
      f_index = sy-index - 1.
      IF fieldmask+f_index(1) = 'X'.
        str = .
        WRITE str.
      ENDIF.
    ENDIF.
  ENDDO.
ENDFORM.                    "write_wa

阅读(4038) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

qdbarry2008-12-26 12:54:10

那试试F4还好用不

syutokukou2008-12-25 17:59:21

想请问这段code中 tabfield-tablename = 'T001' . tabfield-fieldname = 'BUKRS' . 有何作用,好像去除它,结果也一样啊,请指教!