SAP中用ABAP读取采购申请抬头文本和行项目文本的程序
2013-07-10 23:37
218 查看
在CX项目中,需要读取采购申请单抬头文本和行项目文本,下面是在程序种的应用:
* 读取抬头文本备注DATA: TEXT1(50).
DATA: BEGIN OF ITB_S18 OCCURS 0.
INCLUDE STRUCTURE thead.
DATA: END OF ITB_S18.
DATA: BEGIN OF FLINES OCCURS 0.
INCLUDE STRUCTURE TLINE.
DATA: END OF FLINES.
DATA: EBELNKP(15).
SELECT * FROM STXL
INTO CORRESPONDING FIELDS OF TABLE ITB_S18
WHERE TDOBJECT = 'EBANH'
AND TDNAME = ITAB-BANFN.
CLEAR TEXT1.
LOOP AT ITB_S18.
CLEAR TEXT1.
PERFORM FRM_READ_TEXT USING 'B01' ITB_S18-TDNAME 'EBANH'
CHANGING TEXT1 .
ENDLOOP.
ITAB-HTEXT = TEXT1.
* 读取行项目文本备注
CLEAR EBELNKP.
CONCATENATE ITAB-BANFN ITAB-BNFPO INTO EBELNKP.
SELECT * FROM STXL
INTO CORRESPONDING FIELDS OF TABLE ITB_S18
WHERE TDOBJECT = 'EBAN'
AND TDNAME = EBELNKP.
CLEAR TEXT1.
LOOP AT ITB_S18.
CLEAR TEXT1.
PERFORM FRM_READ_TEXT USING 'B01' ITB_S18-TDNAME 'EBAN'
CHANGING TEXT1 .
ENDLOOP.
ITAB-ITEXT = TEXT1.
FORM FRM_READ_TEXT USING FID FNAME FOBJECT CHANGING TEXT1 .
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = FID
LANGUAGE = SY-LANGU
NAME = FNAME
OBJECT = FOBJECT
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
LINES = FLINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT FLINES.
CONCATENATE TEXT1 FLINES-TDLINE INTO TEXT1 .
ENDLOOP.
ENDFORM.
* 读取抬头文本备注DATA: TEXT1(50).
DATA: BEGIN OF ITB_S18 OCCURS 0.
INCLUDE STRUCTURE thead.
DATA: END OF ITB_S18.
DATA: BEGIN OF FLINES OCCURS 0.
INCLUDE STRUCTURE TLINE.
DATA: END OF FLINES.
DATA: EBELNKP(15).
SELECT * FROM STXL
INTO CORRESPONDING FIELDS OF TABLE ITB_S18
WHERE TDOBJECT = 'EBANH'
AND TDNAME = ITAB-BANFN.
CLEAR TEXT1.
LOOP AT ITB_S18.
CLEAR TEXT1.
PERFORM FRM_READ_TEXT USING 'B01' ITB_S18-TDNAME 'EBANH'
CHANGING TEXT1 .
ENDLOOP.
ITAB-HTEXT = TEXT1.
* 读取行项目文本备注
CLEAR EBELNKP.
CONCATENATE ITAB-BANFN ITAB-BNFPO INTO EBELNKP.
SELECT * FROM STXL
INTO CORRESPONDING FIELDS OF TABLE ITB_S18
WHERE TDOBJECT = 'EBAN'
AND TDNAME = EBELNKP.
CLEAR TEXT1.
LOOP AT ITB_S18.
CLEAR TEXT1.
PERFORM FRM_READ_TEXT USING 'B01' ITB_S18-TDNAME 'EBAN'
CHANGING TEXT1 .
ENDLOOP.
ITAB-ITEXT = TEXT1.
FORM FRM_READ_TEXT USING FID FNAME FOBJECT CHANGING TEXT1 .
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = FID
LANGUAGE = SY-LANGU
NAME = FNAME
OBJECT = FOBJECT
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
LINES = FLINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT FLINES.
CONCATENATE TEXT1 FLINES-TDLINE INTO TEXT1 .
ENDLOOP.
ENDFORM.
相关文章推荐
- SAP采购订单抬头、行项目屏…
- SAP采购订单抬头、行项目屏幕增强的两种方法
- SE75 采购申请创建抬头文本
- SAP采购订单抬头、行项目屏幕增强的两种方法
- SAP采购订单抬头、行项目屏幕增强的两种方法
- 读取QM决策长文本的ABAP测试程序
- ABAP 读取销售订单抬头文本自建函数
- SAP采购订单抬头、行项目屏…
- 一步一步教你写SAP RFC (实战项目)OA通过读取采购订单号获取物料号最近5次变价记录
- SAP ABAP程序性能优化 2
- ABAP:读取长文本内容
- SAP ABAP将内表数据导出到TXT和从TXT读取到内表
- abap--关于sap地址,传真,邮箱的地址读取
- ABAP读取长文本
- SAP ABAP开发第一课:BC400系统架构与ABAP程序执行流程
- maven+hadoop2.2 项目HDFS文件读取程序
- SAP ABAP程序性能优化
- SAP ABAP程序优化方法
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- SAP采购申请订货数量与未清数量错误