ABAP技巧代码汇总Word文档下载推荐.docx

上传人:b****2 文档编号:232901 上传时间:2023-04-28 格式:DOCX 页数:72 大小:77.12KB
下载 相关 举报
ABAP技巧代码汇总Word文档下载推荐.docx_第1页
第1页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第2页
第2页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第3页
第3页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第4页
第4页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第5页
第5页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第6页
第6页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第7页
第7页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第8页
第8页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第9页
第9页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第10页
第10页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第11页
第11页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第12页
第12页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第13页
第13页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第14页
第14页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第15页
第15页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第16页
第16页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第17页
第17页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第18页
第18页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第19页
第19页 / 共72页
ABAP技巧代码汇总Word文档下载推荐.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ABAP技巧代码汇总Word文档下载推荐.docx

《ABAP技巧代码汇总Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ABAP技巧代码汇总Word文档下载推荐.docx(72页珍藏版)》请在冰点文库上搜索。

ABAP技巧代码汇总Word文档下载推荐.docx

*–〉选择1而没有选择2

IFP_CB1=‘X’ANDP_CB2=”.

*—〉向listbox里面添加值

REFRESHLIST.

VALUE-KEY=’11′. 

“这个就是变量P_LIST的值

VALUE-TEXT=’11′. 

“这个是text

APPENDVALUETOLIST.

VALUE-KEY=’22′.

VALUE-TEXT=’22′.

VALUE-KEY=’33′.

VALUE-TEXT=’33′.

*—〉调用函数显示listbox里面的值

CALLFUNCTION‘VRM_SET_VALUES’

EXPORTING

ID 

=‘P_LIST1′

VALUES=LIST.

*—〉把第二个listbox的值清空,并且不能输入

CLEARP_LIST2.

LOOPATSCREEN.

IFSCREEN-NAME=‘P_LIST2′.

SCREEN-INPUT=0.

MODIFYSCREEN.

ENDIF.

ENDLOOP.

*–〉选择2,没有选择1,同上

ELSEIFP_CB2=‘X’ANDP_CB1=”.

VALUE-KEY=‘AAAAAAAAAAAAAAAAAAAA’.

VALUE-TEXT=‘AAAAAAAAAAAAAAAAAAAA’.

VALUE-KEY=‘BBBBBBBBBBBBBBBBBBBB’.

VALUE-TEXT=‘BBBBBBBBBBBBBBBBBBBB’.

VALUE-KEY=‘CCCCCCCCCCCCCCCCCCCC’.

VALUE-TEXT=‘CCCCCCCCCCCCCCCCCCCC’.

=‘P_LIST2′

*—〉清空listbox1的值

CLEARP_LIST1.

IFSCREEN-NAME=‘P_LIST1′.

*–〉都没有选择,都清空且不能输入

ELSEIFP_CB1=”ANDP_CB2=”.

CLEAR:

P_LIST1,P_LIST2.

*–〉都选,执行

ELSEIFP_CB1=‘X’ANDP_CB2=‘X’.

VALUE-KEY=’11′.

VALUE-TEXT=’11′.

START-OF-SELECTION.

*–〉输出到第二屏幕看看

WRITE:

P_LIST1,/P_LIST2.

2、ABAPmemory中的Export和Import

可以用于SUBMIT方式调用其他ABAP程序后,数据只能通过某个透明表暂存,在由主程序查询透明表取得结果的情况,

这样做的好处是不用在通过透明表转数据了,先把子程序中的数据EXPORT到一块命名的内存空间,然后在主程序里

IMPORT命名的内存空间的值到内表中。

REPORTz_barry_export_import.

DATA:

BEGINOFitab1OCCURS0,

ff(10),

ENDOFitab1.

itab2LIKEitab1OCCURS0WITHHEADERLINE.

str1TYPEstring,

str2TYPEstring.

APPEND'

1'

TOitab1.

2'

str1='

sssssssssss'

.

***如果是同名的对象,可以这么写:

EXPORTitab1TOMEMORYID'

M1'

FREEitab1.

IMPORTitab1FROMMEMORYID'

LOOPATitab1.

WRITE/itab1-ff.

ENDLOOP.

***如果不是同名的对象,需要加上一个对象名

EXPORTa=itab1b=str1TOMEMORYID'

M2'

IMPORTa=itab2b=str2FROMMEMORYID'

LOOPATitab2.

WRITE/itab2-ff.

ENDLOOP.WRITE/str2.

3、ABAP获得程序的激活次数或者传输次数的方法

REPOSRC:

ReportSourceCode

DATASUMTYPEI.

PARAMETERSP_NAMETYPESTRING.

SELECTCOUNT(*)

FROME070

INNERJOINE071ONE071~TRKORR=E070~TRKORR

INTOSUM

WHEREE071~OBJ_NAME=P_NAME

ANDE071~LOCKFLAG<

>

'

'

ANDE070~TRSTATUS='

R'

REPOSRC这个表很有意思,它包含任何一个程序的激活次数,即字段VERN(版本)

其中的字段R3STATE如果是A则表明是激活的版本。

如果是I表明是被修改的状态,如果最新的版本没有被激活,则会出现R3STATE字段有A和I的两

组数据。

其中I为最新的保存数据的记录,VERN记录修改的次数。

R3STATE字段为A的则是记录前一次被激活的版本数据,VERN对应的版本号。

表REPOSRC对应一个视图这个视图是PROGDIR.

使用这个视图对我们的控制会更有帮助,其中这个视图标签SELECITONSCONDITIONS中进行限制如下:

TABLEFIELDNAME操作COMPARISONVALUEAND/OR

REPOSRCR3STATEEQ'

A'

OR

I'

存放变式的表VARI这是一张数据簇表。

4、ABAP生成ZIP压缩文件的代码

data:

iziptypereftocl_abap_zip,

conttypexstring,

xzip_filetypexstring,

binary_tabtypestandardtableofx255.

itabtypestandardtableofsdokcntasc.

start-of-selection.

do20times.

append'

ABAP开发'

toitab.

enddo.

callfunction'

SCMS_TEXT_TO_XSTRING'

exporting

mimetype='

text/html;

charset=gb2312'

importing

buffer=cont

tables

text_tab=itab

exceptions

failed=1

others=2.

createobjectizip.

callmethodizip->

add

name='

ITAB.TXT'

content=cont.

save

receiving

zip=xzip_file.

SCMS_XSTRING_TO_BINARY'

buffer=xzip_file

binary_tab=binary_tab.

GUI_DOWNLOAD'

filename='

C:

\sf.zip'

filetype='

BIN'

data_tab=binary_tab.

5、ABAP程序打印SpoolRequest到PDF

其实打印到pdf完全不需要程序,只要你装了pdf打印生成软件,打印的时候选择pdf也就行了。

本文的程序非我所做,不过也不知道从哪里拿到的了。

在不经意间看到了,于是在机器上测试下,发现有些地方需要更正。

改好了,测试好了,放上来分享给大家。

程序源代码如下:

*&

------------------------------------------------------------------*

Report 

ZBOB_R2PDF

------------------------------------------------------------------*

REPORT 

zbob_r2pdf.

*--Enhancements:

onlyallowtoberunwithvariant. 

Thencalled

*--programwillbetransparenttousers

*--TABLES

TABLES:

tsp01.

*--STRUCTURES

mstr_print_parmsLIKEpri_params,

mc_valid

(1) 

 

TYPEc,

mi_bytecount 

TYPEi,

mi_length 

TYPEi,

mi_rqident 

LIKEtsp01-rqident.

*--INTERNALTABLES

mtab_pdf 

LIKEtlineOCCURS0WITHHEADERLINE,

mc_filenameLIKErlgrap-filename.

*--SELECTIONSCREEN

p_repidLIKEsy-repid,"

Reporttoexecute

p_linszLIKEsy-linszDEFAULT132,"

Linesize

p_paartLIKEsy-paartDEFAULT'

X_65_132'

"

PaperFormat

START-OF-SELECTION.

CONCATENATE'

d:

\'

p_repid

.pdf'

INTOmc_filename.

*--SetupthePrintParmaters

CALLFUNCTION'

GET_PRINT_PARAMETERS'

copies 

='

new_list_id 

X'

no_dialog 

user 

=sy-uname

IMPORTING

out_parameters 

=mstr_print_parms

valid 

=mc_valid

EXCEPTIONS

archive_info_not_found=1

invalid_print_params 

=2

invalid_archive_params=3

OTHERS 

=4.

*--Makesurethataprinterdestinationhasbeensetup

*--IfthisisnotdonethePDFfunctionmoduleABENDS

IFmstr_print_parms-pdest=space.

mstr_print_parms-pdest='

LOCL'

ENDIF.

*--Explicitlysetlinewidth,andoutputformatsothat

*--thePDFconversioncomesoutOK

mstr_print_parms-linsz=p_linsz.

mstr_print_parms-paart=p_paart.

SUBMIT(p_repid)TOSAP-SPOOLWITHOUTSPOOLDYNPRO

SPOOLPARAMETERSmstr_print_parms

VIASELECTION-SCREEN

ANDRETURN.

*--Findoutwhatthespoolnumberisthatwasjustcreated

PERFORMget_spool_numberUSINGsy-repid

sy-uname

CHANGINGmi_rqident.

*--ConvertSpooltoPDF

CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

src_spoolid 

=mi_rqident

=space

dst_device 

=mstr_print_parms-pdest

pdf_bytecount 

=mi_bytecount

TABLES

pdf 

=mtab_pdf

err_no_abap_spooljob 

=1

err_no_spooljob 

=2

err_no_permission 

=3

err_conv_not_possible 

=4

err_bad_destdevice 

=5

user_cancelled 

=6

err_spoolerror 

=7

err_temseerror 

=8

err_btcjob_open_failed 

=9

err_btcjob_submit_failed=10

err_btcjob_close_failed 

=11

=12.

lftypestring.

lf=mc_filename.

EXPORTING

BIN_FILESIZE 

=

filename 

=lf

FILETYPE 

APPEND 

WRITE_FIELD_SEPARATOR 

HEADER 

00'

TRUNC_TRAILING_BLANKS 

WRITE_LF 

COL_SELECT 

='

COL_SELECT_MASK 

DAT_MODE 

CONFIRM_OVERWRITE 

NO_AUTH_CHECK 

CODEPAGE 

IGNORE_CERR 

=ABAP_TRUE

REPLACEMENT 

#'

WRITE_BOM 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2