Endroutine-查找以导出多个值

2020-09-20 14:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我无法使用以下代码派...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我无法使用以下代码派生多个值。 我的要求是派生查找材料主数据表,并派生前7个字符与输入文件材料匹配的所有材料。


 *声明材料表
 数据:/BI0/PMATERIAL的Z_MATERIAL类型标准表。
 字段符号:类似于Z_MATERIAL的线。
 *从物料表中选择数据
 选择*从/BI0/PMATERIAL进入表的相应字段
  Z_MATERIAL WHERE OBJVERS ='A'。

 类型:ty_data类型_ty_s_TG_1。
 数据:t_data类型STANDARD TABLE OF ty_data,
       w_data类型ty_data,
       l_tabix类型sy-tabix,
       l_line类型I。

 清除:l_tabix,w_data。
 BREAK-POINT。
 t_data [] = RESULT_PACKAGE []。
 在t_data循环到w_data。
        l_tabix = sy-tabix。
        l_line = l_line + 1。
  环Z_MATERIAL分配
   材料+0(7)= w_data-材料
        清除w_data。
         W_DATA-MATERIAL = -材料
         W_DATA-TYPE =  -TYPE。

         W_DATA-RECORD = l_line。
         将附加到T_DATA。
 结局。
 结束循环。  " Result_package

 RESULT_PACKAGE [] = t_data []。
 

(34.2 kB)
4条回答
Nan4612
2020-09-20 14:48

嗨,

我的要求是遍历Material表并导出所有前7个字符与输入文件中的材料相匹配的材料,如下图所示。 最终结果是我应该获得更多的材料。

下面是我选择材料的开始例程代码。

 类型:开始于MAT_STRUCT,

       材料类型/BI0/OIMATERIAL,

       MAT_NEW(7)输入c,

   MAT_STRUCT结束。



   数据:带有唯一键材料的MAT_STRUCT的I_MAT类型排序表。

         字段符号:类似于I_MAT的行。



 选择*从/BI0/PMATERIAL进入表的相应字段
  GT_MATERIAL WHERE OBJVERS ='A'。
从/BI0/PMATERIAL到表的相应字段中选择材料 I_MAT WHERE OBJVERS ='A'。
在I_MAT ASSIGNING 上循环。 * CALL FUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT' *出口 *输入= -材料 *输入 *输出= -材料。
-MAT_NEW = -MATERIAL(7)。

ENDLOOP。

END ROUTINE逻辑遍历结果包

数据:E_S_RESULT类型_Ty_s_TG_1。
数据:E_T_RESULT类型_Ty_t_TG_1。
数据:l_tabix类型sy-tabix,
l_line类型I.

* E_T_RESULT [] = RESULT_PACKAGE [] 。
*
BREAK-POINT。
在结果包分配上循环
*
*在GT_MATERIAL分配上循环
* WHERE MATERIAL + 0(7)= -材料。
在I_MAT分配处循环 MAT_NEW所在的位置=
-MATERIAL。
清除:E_S_RESULT。
l_tabix = sy-tabix。
* l_line = l_line + 1.
l_line = 1.
BREAK-要点。

-材料= -材料。
-FISCYEAR = E_S_RESULT-FISCYEAR。< br> -FISCVARNT = E_S_RESULT-FISCVARNT。
-CURRENCY = E_S_RESULT-CURRENCY。
-VTYPE = E_S_RESULT-VTYPE。
* -LINE
APPEND 到E_T_RESULT。
l_line = l_line +1。

ENDLOOP。
ENDLOOP。
刷新RESULT_PACKAGE。
RESULT_PACKAGE [] = E_T_RESULT []。< br> * MOVE E_T_RESULT [] T O RESULT_PACKAGE []。

一周热门 更多>