ERP俱乐部
ERP爱好者、ERP从业者互相交流、互相学习的乐园;我们的愿景是成为全球一流的中文ERP(Enterprise Resource Planning)交流平台
网站首页 论坛首页 搜索 用户列表 FAQ 注册 登录  
ERP俱乐部 -> SAP专栏 -> ABAP -> 有关动态编程,请高手指教。
  有关动态编程,请高手指教。
帖子发起人: Seven   发起时间: 2005-01-27 10:09 上午   回复数: 5
? 上一主题 下一主题 ?
楼主
  -
Seven 离线,最后访问时间: 2005/3/4 9:34:50 Seven

无等级

10级
等级: 10级
注册: 2005年1月12日
经验: 18
积分: 18
精华: 0
发贴: 5
排名: 1,766
Site Registered Users
有关动态编程,请高手指教。
 
DATA: fname(100) type c.

DATA: gt_sflight type table of SFLIGHT with header line.

   select * from sflight into table gt_sflight.
fname = 'XX'.

loop at gt_sflight.
   这里我要动态输出gt_sflight的字段名为fname的值'XX'的内容。
   请问高手如何实现。。。。。。
endloop.
分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
第 2 楼
  -
mara 离线,最后访问时间: 2010/9/1 9:32:59 mara

发帖数前75位
男

版主
职务: 版主
50级
等级: 50级
注册: 2004年10月28日
经验: 336
积分: 316
精华: 1
发贴: 257
排名: 73
Global ModeratorsSite ModeratorsSite Registered Users培训学员(ABAP学员服务区-深圳200503班) 培训学员(ABAP学员服务区-深圳200508班) 培训学员(FI学员服务区-上海200602班) 培训学员(FI学员服务区-深圳200604班)培训学员(ABAP学员服务区-深圳200607班)
Re: 有关动态编程,请高手指教。
 
PROGRAM P1MAIN.
DATA: BEGIN OF STR,
A VALUE 'a',
B VALUE 'b',
C VALUE 'c',
D VALUE 'd',
END OF STR,
CN(5) VALUE 'D'.
FIELD-SYMBOLS <FS> TYPE ANY.
DO 3 TIMES.
ASSIGN COMPONENT SY-INDEX OF
STRUCTURE STR TO <FS>.
IF SY-SUBRC <> 0. EXIT. ENDIF.
WRITE <FS>.
ENDDO.
ASSIGN COMPONENT CN OF STRUCTURE STR TO <FS>.
WRITE <FS>.



Output: a b c d


-----------------

mara,SAPCLUB TEAM

---------------------

You ok,so we ok

---------------------------


msn:jiangyong_120@hotmail.com
IP 地址: 已登录   来自: 已登录    返回顶部
第 3 楼
  2005-07-11, 02:03 下午
xianer 离线,最后访问时间: 2006/6/9 14:58:22 xianer

无等级

10级
等级: 10级
注册: 2005年7月11日
经验: 4
积分: 4
精华: 0
发贴: 3
排名: 6,348
Site Registered Users
Re: 有关动态编程,请高手指教。
 
下面是我作的一个动态编程的一个例子,感兴趣的参考一下
其中的文字是日文的,自己改成中文的就可以了.

REPORT Z_GET_STURC_NAME .

*----------------------------------------------------------------------*
* 定数の定義   *
*----------------------------------------------------------------------*
CONSTANTS: BEGIN OF CNS,
PRONAME(16) TYPE C VALUE 'Z_GET_STURC_NAME',
END OF CNS.

*----------------------------------------------------------------------*
* 構造体の定義 *
*----------------------------------------------------------------------*
DATA: BEGIN OF WRK_TEST,
COL1(10) TYPE C VALUE 'VAL_COL1',
COL2(20) TYPE C VALUE 'VAL_COL2',
COL3(30) TYPE C VALUE 'VAL_COL3',
COL4(40) TYPE C VALUE 'VAL_COL4',
END OF WRK_TEST.

TYPE-POOLS: SYDES.
DATA: TD TYPE SYDES_DESC.
DATA: WRK_TD TYPE SYDES_NAMEINFO.

DATA: WRK_TYPE(1) TYPE C,
WRK_LENGTH TYPE I,
WRK_NUM TYPE P,
WRK_RELEN TYPE P,
WRK_STRLEN TYPE P,
SAV_INDEX LIKE SY-INDEX.

FIELD-SYMBOLS: <F01> TYPE ANY.

*----------------------------------------------------------------------*
* START-OF-SELECTION *
*----------------------------------------------------------------------*
START-OF-SELECTION.
* プログラム名の長さを取得する
WRK_STRLEN = STRLEN( CNS-PRONAME ).
DO.
* WRK_TD構造体の項目を取得する
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE WRK_TD TO <F01>.
IF SY-SUBRC = 0 .
* 構造体のNAME項目の長さを取得する
CHECK SY-INDEX = 2.
DESCRIBE FIELD <F01> OUTPUT-LENGTH WRK_LENGTH.
* プログラム名長さと構造体NAME項目長さの整数部分を取得する
WRK_NUM = WRK_STRLEN DIV WRK_LENGTH.
* プログラム名長さと構造体NAME項目長さの余数部分を取得する
WRK_RELEN = WRK_STRLEN MOD WRK_LENGTH.
* 余数が0ではないなら項目名がTD-NAMES内部テーブルの
* インデェックスを取得する
IF WRK_RELEN <> 0.
SAV_INDEX = WRK_NUM + 1.
ELSE.
SAV_INDEX = WRK_NUM.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
CLEAR: WRK_NUM, WRK_LENGTH, WRK_RELEN, WRK_STRLEN.

DESCRIBE FIELD WRK_TEST INTO TD.
* ヘッダの出力
WRITE: /002 '項目名',
010 '項目タイプ',
024 '項目長さ',
036 '項目VALUE'.
SKIP.
DO.
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE WRK_TEST TO <F01>.
IF SY-SUBRC = 0.
WRK_NUM = SY-INDEX + SAV_INDEX.
DESCRIBE FIELD <F01> OUTPUT-LENGTH WRK_LENGTH.
DESCRIBE FIELD <F01> TYPE WRK_TYPE.

* TD-NAMES内部テーブルに1レコード目がプログラム名ですけど
* プログラム名長さが15を超えたら内部テーブルの2レコード目に
* なることです
READ TABLE TD-NAMES INTO WRK_TD INDEX WRK_NUM .
WRITE: /002 WRK_TD-NAME,
014 WRK_TYPE,
020 WRK_LENGTH,
038 <F01>.
ELSE.
EXIT.
ENDIF.
ENDDO.
分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
第 4 楼
  2005-07-29, 01:45 下午
yangzhi520 离线,最后访问时间: 2008/11/6 13:55:06 yangzhi520

发帖数前500位
男

30级
等级: 30级
注册: 2005年1月31日
经验: 59
积分: 14
精华: 0
发贴: 52
排名: 461
Site Registered Users
Re: 有关动态编程,请高手指教。
 
哇是鸟语注释。。。。
IP 地址: 已登录   来自: 已登录    返回顶部
第 5 楼
  2005-08-26, 09:09 上午
LIMETTT 离线,最后访问时间: 2008/10/10 9:26:34 LIMETTT

发帖数前200位

30级
等级: 30级
注册: 2004年12月13日
经验: 95
积分: 95
精华: 0
发贴: 84
排名: 262
Site Registered Users培训学员(ABAP学员服务区-深圳200508班)
Re: 有关动态编程,请高手指教。
 
呵呵,花香!

分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
第 6 楼
  2005-09-24, 10:27 下午
raysky 离线,最后访问时间: 2009/11/6 13:38:27 raysky

无等级

10级
等级: 10级
注册: 2005年4月2日
经验: 20
积分: 30
精华: 0
发贴: 10
排名: 1,573
Site Registered Users
Re: 有关动态编程,请高手指教。
 
这样的资料在SAP网站上的HELP里全都有,只是看你有没有时间去看。。。。







*******************


Seeking a new job.


msn:raysky_lei@hotmail.com


**************************
IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 6 条记录]
ERP俱乐部 -> SAP专栏 -> ABAP -> 有关动态编程,请高手指教。
(C)Copyright 2005-2020 www.erpclub.org All Rights Reserved.
Tel:+86-755-26444630
Email:webmaster@yok.com.cn