2020-09-02 08:24发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!
我想在运行时将内部表分配给字段符号。 我想通过参数说来提供内部表名:P_TABLENAME。
我正在尝试这样做,但无法分配。
P_TABLENAME ='MARA'。
将表字段(P_TABLENAME)分配给。
但是,如果我这样做,它将分配给字段符号:
表:MARA。
将表字段MARA分配给。
请向我提出建议。
谢谢
Darshan Patel
您好尝试此代码,它将起作用并奖励我..它将允许您在选择屏幕上提供表名-
&----
*&报告ZGILL_FS *
*&*
*& *
REPORT ZGILL_FS行大小为250
行数为65。
参数p_table
字段符号类型表。
字段符号类型任意。
类型:Itab的开头, p>
t_name类型的标签名,
t_ref类型对数据的引用,
itab的结尾。
data itab1类型的itab表具有唯一性 密钥t_name。
使用p_table执行fetch_data。
使用p_table执行print_table。
* &表格fetch_data
&- -
文本
----
-> P_P_TABLE文本
使用P_TABLE1类型的标签名来获取数据。
itab2-t_name = p_table1。
创建(itab2-t_name)的数据itab2-t_ref类型表。
分配itab2 -t_ref-> *到。
将itab2附加到itab1。
从(p_table1)的25行中选择*到表的相应字段中。 p> ENDFORM。 " fetch_data &---- *&表格print_table &---- 文本 ---- -> P_P_TABLE文本 ---- FORM print_table,使用P_TABLE1类型的标签名。 DATA t_ref1类型REF TO数据。 数据itab2类型itab。 字段符号任何类型。 使用密钥t_name = p_table1将表itab1读入itab2。 ASSIGN itab2-t_ref-> * TO 。 创建数据t_ref1类似的行。 ASSIGN t_ref1-> * TO 。 DO。 *读取表分配索引1。 读取表分配索引SY-INDEX。 * WRITE:/p_table1。 NEW-LINE。 如果sy-subrc <> 0。 退出。 ENDIF。 DO。 分配结构的sy-index 到。 IF sy-subrc <> 0. 退出。 ENDIF。 写:,''。 ENDDO。 ENDDO 。 ENDFORM。" print_table
ENDFORM。 " fetch_data
*&表格print_table
FORM print_table,使用P_TABLE1类型的标签名。
DATA t_ref1类型REF TO数据。
数据itab2类型itab。
字段符号任何类型。
使用密钥t_name = p_table1将表itab1读入itab2。
ASSIGN itab2-t_ref-> * TO 。
创建数据t_ref1类似的行。
ASSIGN t_ref1-> * TO 。
DO。
*读取表分配索引1。
读取表分配索引SY-INDEX。
* WRITE:/p_table1。
NEW-LINE。
如果sy-subrc <> 0。
退出。
ENDIF。
分配结构的sy-index 到。
IF sy-subrc <> 0.
写:,''。
ENDDO。
ENDDO 。
ENDFORM。" print_table
嗨,
看到这个。
表格TRDIR。
数据名称(10)值'TRDIR-NAME'。
FIELD-SYMBOLS 。
将" XYZ_PROG"移动到TRDIR-NAME。
将表字段(名称)分配给。
写。
输出:XYZ_PROG
选中此项以获取更多信息。
http://www.sts.tu-harburg。 de/teaching/sap_r3/ABAP4/assign.htm
我们可以使用字段符号来选择运行时内存结构和表...
示例:假设我们已经创建了代理商销售订单,将自动创建DO,我们需要验证订单数量,计划行确认数量(系统根据批次可用性自动计算)和DO数量是否相同,然后仅提交 语句应以其他方式回滚执行。...在此示例中,使用BAPI_SALESORDER_CREATEFROMDAT2创建订单后,在执行BAPI_COMMIT之前,我们可以使用以下示例读取运行时结构和表
数据:fxvbep TYPE vbep。
数据:字段(50)。
FIELD-SYMBOLS: TYPE表。 "任何。"表。 " vbep。
字段='(SAPMV45A)FXVBEP []'。 "计划行数
分配(字段)到。
数据:field1(50)。
字段符号:类型rv45a。
字段1 ='(SAPMV45A)RV45A'。 "订单数量
分配(field1)到。
数据:field2(50)。
FIELD-SYMBOLS: TYPE Lipsd。
field2 ='(SAPMV50A)LIPSD'。 "交货数量
分配(field2)至。
读取表进入fxvbep索引1。
如果 -kwmeng = fxvbep-bmeng AND -kwmeng = -g_lfimg。 执行bapi_commit。
ELSE。执行bapi_rollback。
最多设置5个标签!
您好尝试此代码,它将起作用并奖励我..它将允许您在选择屏幕上提供表名-
&----
*&报告ZGILL_FS *
*&*
&----
*&*
*& *
&----
REPORT ZGILL_FS行大小为250
行数为65。
参数p_table
字段符号类型表。
字段符号类型任意。
类型:Itab的开头, p>
t_name类型的标签名,
t_ref类型对数据的引用,
itab的结尾。
data itab1类型的itab表具有唯一性 密钥t_name。
使用p_table执行fetch_data。
使用p_table执行print_table。
&----
* &表格fetch_data
&- -
文本
----
-> P_P_TABLE文本
----
使用P_TABLE1类型的标签名来获取数据。
<itab2-t_name = p_table1。
创建(itab2-t_name)的数据itab2-t_ref类型表。
分配itab2 -t_ref-> *到。
将itab2附加到itab1。
从(p_table1)的25行中选择*到表的相应字段中。 p>
-
-
ENDFORM。 " fetch_data
&----
*&表格print_table
&----
文本
----
-> P_P_TABLE文本
----
FORM print_table,使用P_TABLE1类型的标签名。
DATA t_ref1类型REF TO数据。
数据itab2类型itab。
字段符号任何类型。
使用密钥t_name = p_table1将表itab1读入itab2。
ASSIGN itab2-t_ref-> * TO。
创建数据t_ref1类似的行。
ASSIGN t_ref1-> * TO。
DO。
*读取表分配索引1。
读取表分配索引SY-INDEX。
* WRITE:/p_table1。
NEW-LINE。
如果sy-subrc <> 0。
退出。
ENDIF。
DO。
分配结构的sy-index到。
IF sy-subrc <> 0.
退出。
ENDIF。
写:,''。
ENDDO。
ENDDO 。
ENDFORM。" print_table
嗨,
看到这个。
表格TRDIR。
数据名称(10)值'TRDIR-NAME'。
FIELD-SYMBOLS。
将" XYZ_PROG"移动到TRDIR-NAME。
将表字段(名称)分配给。
写。
输出:XYZ_PROG
选中此项以获取更多信息。
http://www.sts.tu-harburg。 de/teaching/sap_r3/ABAP4/assign.htm
我们可以使用字段符号来选择运行时内存结构和表...
示例:假设我们已经创建了代理商销售订单,将自动创建DO,我们需要验证订单数量,计划行确认数量(系统根据批次可用性自动计算)和DO数量是否相同,然后仅提交 语句应以其他方式回滚执行。...在此示例中,使用BAPI_SALESORDER_CREATEFROMDAT2创建订单后,在执行BAPI_COMMIT之前,我们可以使用以下示例读取运行时结构和表
数据:fxvbep TYPE vbep。
数据:字段(50)。
FIELD-SYMBOLS: TYPE表。 "任何。"表。 " vbep。
字段='(SAPMV45A)FXVBEP []'。 "计划行数
分配(字段)到。
数据:field1(50)。
字段符号:类型rv45a。
字段1 ='(SAPMV45A)RV45A'。 "订单数量
分配(field1)到。
数据:field2(50)。
FIELD-SYMBOLS: TYPE Lipsd。
field2 ='(SAPMV50A)LIPSD'。 "交货数量
分配(field2)至。
读取表进入fxvbep索引1。
如果 -kwmeng = fxvbep-bmeng AND
-kwmeng = -g_lfimg。
执行bapi_commit。
ELSE。
执行bapi_rollback。
ENDIF。
一周热门 更多>