abap中可以实现上载数据的函数?GUI_UPLOAD,还有一个也可以实现上载?高手给个指导吧!

abap中可以实现上载数据的函数?GUI_UPLOAD,还有一个也可以实现上载?高手给个指导吧!,第1张

.ORM F_FILE_UPLOAD.

DATA: L_FILENAME TYPE STRING.

L_FILENAME = P_FILE.

CLEAR G_ERR.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_FILENAME "上改枝载文件路径(C:\Documents and Settings\test.txt)

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X' ”这两个参数要求上载的文本文件内各字余歼胡段值(列)之间以Tab键分割

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

* DAT_MODE = 'X'

* CODEPAGE = ' '

* IGNORE_CERR = ABAP_TRUE

* REPLACEMENT = '#'

* CHECK_BOM = ' '

* VIRUS_SCAN_PROFILE=

* NO_AUTH_CHECK = ' '

* IMPORTING

* FILELENGTH=

* HEADER=

TABLES

DATA_TAB = I_DATA “上传到程序中的目标内表

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED= 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT= 16

OTHERS= 17.

IF SY-SUBRC <>0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM." F_FILE_UPLOAD

另外你说的另一种方法,是以竖拦EXCEL文件上载到SAP程序的吗,给你几个参考函数:

ALSM_EXCEL_TO_INTERNAL_TABLE

TEXT_CONVERT_XLS_TO_SAP

KCD_EXCEL_OLE_TO_INT_CONVERT

PS:其实GUI_UPLOAD对文本文件和EXCEL文件都是能够实现上载到SAP内表中的,

你把FILENAME = L_FILENAME 上载文件路径换成(C:\Documents and Settings\test.xls)就行啦!!

首先知道BDC是什么?SAP实施工作导数据给SAP系统。正常情况,例如新建悄启物料,就是MM01中一点点KEY值进去保存。那么如果大数据量,客户还不得累死,几百万条数据做到什么时候。所以使用BDC,upload数据到程序里,程序进行loop,每一次loop,就是模仿 *** 作一次MM01,最后call trancation,提交一次。成功或者失败抛出消息。BDC原理就是这样。

知道了原因,如何 *** 作录屏,SHDB,选择下需要使用什么事物代码,然后开始录屏,进到MM01添加该添加字段值,保存,则运派回退到SHDB中,再次保存。这里SHDB就是录屏 *** 作步骤,网上相关录屏 *** 作截图有很多。可以百度查查。

最后生成程序,在程序中把固定孙贺值变成变量,这样就可以每次loop时候,填充字段。

这就是BDC相关 *** 作。

定义数据类型用关键字 TYPES.

定义数据对象用关键字 DATA.

在abap程序中用abap基本数据类型(预定义类型)定义局部数据类型,还可以定义包含多个abap基本数据类型的结构体类型。

参考现有的数据对象(LIKE)

DATA A2 LIKE A1."A1对象

参考现有的旁斗数据类型(TYPE)

DATA A2 LIKE A1."A1类型

VALUE关键字来指定数据对象的初始值。

DATA NUM1 TYPE I VALUE 10. "NUM1初始值为10

LENGHT关键字指变量长度。

DATA NUM2 TYPE C LENGHT8.

DATA NUM2(8) TYPE C.

DATA语句没有指定 TYPE则默认长度为1的C类型。

SY-SUBRC:系统执行某命令后,表示执行成功与否的变量,'0'表示成功

SY-UNAME:当前使用者的name

SY-DATUM:当前系统日期

SY-UZEIT:当前系统时间

SY-TCODE:当前执行程序的Tcode

数值文字不加单引号

123,-123

字符文字加单引号

'HELLO','123.4','123E4'

CONSTANTS语句用来定义常数,必须有VALUE值

CONSTANTS a1 TYPE TNAME VALUE8.

一个汉字弯启裤占两个长度

赋值

MOVE 对象/对象字段 TO 对象/对象字段.

对象/对象字段 = 对象/对象字段.

所有的符号都要用空格隔开,圆括号和 *** 作符都是关键字需要跟 *** 作数之间至少用一个空格隔开。

例:( 20 + 10) *10 + 10 / 2.

用'/'去大值 用DIV取小值

ABS(n):取绝对值

SIGN(n):判断数值符号

n为正,返回1;n为0,返回0;n为负,返回-1;

CEIL(n):取大于数值n的最小整数.

例:WRITE CEIL(1.23). 输出2

WRITE CEIL(-2.23). 输出-2

FLOOR(n):取小于数值n的最小整数

例:WRITE FLOOR(1.23). 输出1

WRITE FLOOR(-2.23). 输出-3

TRUNC(n):去埋简数值的整数部分

例:WRITE TRUNC(1.23). 输出1

WRITE TRUNC(-2.23). 输出-2

FRAC(n):去数值的小数部分

例:WRITE FRAC(1.23). 输出0.23

具体用法:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12524210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存