在abap中创建表时什么时候需要mandt这个字段
5个回答
展开全部
这个字段是系统字段,
我们开发的时候一般都分为
开发机 测试机 和生产机
比如 开发机 代码为200
测试机为 600
生产机为 800
那这个字段 当你的表在开发机的时候 这个字段默认为200 当在测试机的时候默认为600 当在生产机的时候默认为 800
当你创建一个数据库视图的时候 系统会默认把 开发机 测试机 生产机的数据都会带出来
比如 比如MAKT 表中
mandt matnr maktx
在开发机数据存取为
200 10000068 设备1
在测试机数据存取为
600 10000068 设备2
在生产机数据存取为
800 10000068 设备3
我创建数据库视图的时候会出现三条数据
200 10000068 设备1
600 10000068 设备2
800 10000068 设备3
这样一看就知道那条数据是那个系统里面的了
如果你不加这个字段
10000068 设备1
10000068 设备2
10000068 设备3
你就糊涂了吧
还有就是如果你不加这个字段有时候表存取数据的时候会出现问题的
我们开发的时候一般都分为
开发机 测试机 和生产机
比如 开发机 代码为200
测试机为 600
生产机为 800
那这个字段 当你的表在开发机的时候 这个字段默认为200 当在测试机的时候默认为600 当在生产机的时候默认为 800
当你创建一个数据库视图的时候 系统会默认把 开发机 测试机 生产机的数据都会带出来
比如 比如MAKT 表中
mandt matnr maktx
在开发机数据存取为
200 10000068 设备1
在测试机数据存取为
600 10000068 设备2
在生产机数据存取为
800 10000068 设备3
我创建数据库视图的时候会出现三条数据
200 10000068 设备1
600 10000068 设备2
800 10000068 设备3
这样一看就知道那条数据是那个系统里面的了
如果你不加这个字段
10000068 设备1
10000068 设备2
10000068 设备3
你就糊涂了吧
还有就是如果你不加这个字段有时候表存取数据的时候会出现问题的
展开全部
1.1. 长文本处理
1.1.1. 读取长文本
这里以抓取Delivery Note的Item上的长文本作为例子。
1.1.1.1. 查找长文本的Text ID,Text Object
VL02N修改Delivery Note: 80000023
按回车键或者点击 ,
选中要一行资料,然后点击菜单Goto->Item->Texts
点击 ,
然后点击菜单:Goto->Header
在这里显示的Text ID:0001,Text Object:VBBP,以及Text Name:0080000023000010,这几个字段在后面取值时要使用到
1.1.1.2. 编写程序
*&---------------------------------------------------------------------*
*& Report Y10028
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y10028.
DATA IT_DATA TYPE STANDARD TABLE OF TLINE .
DATA W_DATA TYPE TLINE.
DATA ID LIKE THEAD-TDID.
DATA LANGUAGE LIKE THEAD-TDSPRAS.
DATA NAME LIKE THEAD-TDNAME.
DATA OBJECT LIKE THEAD-TDOBJECT.
START-OF-SELECTION.
ID = '0001'.
LANGUAGE = 'EN'.
NAME = '0080000023000010'.
OBJECT = 'VBBP'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = ID
LANGUAGE = LANGUAGE
NAME = NAME
OBJECT = OBJECT
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
LINES = IT_DATA
* 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 IT_DATA INTO W_DATA.
WRITE:/ W_DATA-TDLINE.
ENDLOOP.
1.1.1.3. 显示结果
1.1.2. 写入长文本
有时需要将其他的系统的资料Upload到长文本字段中,或者将资料从文字档、Excel档Upload到长文本字段中,使用BDC比较麻烦,这个时候可以使用SAVE_TEXT Function来写入长文本。查找Text ID,Text Object的方法在上一个章节已经说明,这里不再重复。
REPORT Y10028.
DATA HEADER LIKE THEAD.
DATA LINES TYPE STANDARD TABLE OF TLINE .
DATA W_LINE TYPE TLINE.
START-OF-SELECTION.
HEADER-TDOBJECT = 'VBBP'.
HEADER-TDNAME = '0080000023000010'.
HEADER-TDID = '0001'.
HEADER-TDSPRAS = 'EN'.
W_LINE = '测试资料写入'.
APPEND W_LINE TO LINES.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
HEADER = HEADER
INSERT = 'X'
SAVEMODE_DIRECT = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
TABLES
LINES = LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
COMMIT WORK.
结果显示为:
1.1.3. 删除长文本
CALL FUNCTION 'DELETE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = ID
LANGUAGE = LANGUAGE
NAME = NAME
OBJECT = OBJECT
* SAVEMODE_DIRECT = ' '
* TEXTMEMORY_ONLY = ' '
* LOCAL_CAT = ' '
* EXCEPTIONS
* NOT_FOUND = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
1.1.1. 读取长文本
这里以抓取Delivery Note的Item上的长文本作为例子。
1.1.1.1. 查找长文本的Text ID,Text Object
VL02N修改Delivery Note: 80000023
按回车键或者点击 ,
选中要一行资料,然后点击菜单Goto->Item->Texts
点击 ,
然后点击菜单:Goto->Header
在这里显示的Text ID:0001,Text Object:VBBP,以及Text Name:0080000023000010,这几个字段在后面取值时要使用到
1.1.1.2. 编写程序
*&---------------------------------------------------------------------*
*& Report Y10028
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y10028.
DATA IT_DATA TYPE STANDARD TABLE OF TLINE .
DATA W_DATA TYPE TLINE.
DATA ID LIKE THEAD-TDID.
DATA LANGUAGE LIKE THEAD-TDSPRAS.
DATA NAME LIKE THEAD-TDNAME.
DATA OBJECT LIKE THEAD-TDOBJECT.
START-OF-SELECTION.
ID = '0001'.
LANGUAGE = 'EN'.
NAME = '0080000023000010'.
OBJECT = 'VBBP'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = ID
LANGUAGE = LANGUAGE
NAME = NAME
OBJECT = OBJECT
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
LINES = IT_DATA
* 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 IT_DATA INTO W_DATA.
WRITE:/ W_DATA-TDLINE.
ENDLOOP.
1.1.1.3. 显示结果
1.1.2. 写入长文本
有时需要将其他的系统的资料Upload到长文本字段中,或者将资料从文字档、Excel档Upload到长文本字段中,使用BDC比较麻烦,这个时候可以使用SAVE_TEXT Function来写入长文本。查找Text ID,Text Object的方法在上一个章节已经说明,这里不再重复。
REPORT Y10028.
DATA HEADER LIKE THEAD.
DATA LINES TYPE STANDARD TABLE OF TLINE .
DATA W_LINE TYPE TLINE.
START-OF-SELECTION.
HEADER-TDOBJECT = 'VBBP'.
HEADER-TDNAME = '0080000023000010'.
HEADER-TDID = '0001'.
HEADER-TDSPRAS = 'EN'.
W_LINE = '测试资料写入'.
APPEND W_LINE TO LINES.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
HEADER = HEADER
INSERT = 'X'
SAVEMODE_DIRECT = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
TABLES
LINES = LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
COMMIT WORK.
结果显示为:
1.1.3. 删除长文本
CALL FUNCTION 'DELETE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = ID
LANGUAGE = LANGUAGE
NAME = NAME
OBJECT = OBJECT
* SAVEMODE_DIRECT = ' '
* TEXTMEMORY_ONLY = ' '
* LOCAL_CAT = ' '
* EXCEPTIONS
* NOT_FOUND = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建表时,都要加MANDT字段。一个SAP服务器有几个客户端,是由MANDT区分的
所以一定要加。
所以一定要加。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
生产机上一般只建了一个CLIENT ,所一这个字段通常都是鸡肋,不做控制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主数据表一般都要加,以区别不同CLIENT,配置表如果想跟CLIENT无关可以不加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询