ECTR宏:是否按DRAD值过滤?

2020-08-27 21:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 是否可以通过DRAD...

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

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


大家好,

是否可以通过DRAD表的值来过滤宏中的文档选择?

目标是过滤宏中没有排他性材料链​​接的文档。

这是我到目前为止得到的(它不起作用):

 function filter_selected_docs(){
    //获取活动选择(仅文档)
     KL_Selection = KEYLIST_FROM_CONTEXT(" active"," selected"," doc");
     if(KL_Selection.length> 0){
         set_Selection = CREATE_SET(KL_Selection);

        //使用材质链接过滤所有文档
         p_Filter1 = PARAMETER_MAP(" doc_filter_fields");
         p_Filter1.HASMATERIAL =" X";
         set_Filter1 = FILTER(set_Selection," doc",p_Filter1);
        
        //检查是否还有要检查的文件
         KL_WithMaterialLinks = KEYLIST_FROM_SET(set_Filter1);
         if(KL_WithMaterialLinks.length> 0){
            //使用独家材料链接过滤所有文档
            //注意:这将同时返回两个具有多个材料链接的文档
            //和只有一个实质链接的文档
             p_Filter2 = PARAMETER_MAP();
             p_Filter2.OBJECT_TYPE =" DRAW";
             p_Filter2.TABLENAME =" DRAD";
             p_Filter2.FIELDNAME =" CAD_POS";
             p_Filter2.SIGN =" I";
             p_Filter2.OPTION =" EQ";
             p_Filter2.LOW =" X";
             set_Filter2 = FILTER(set_Filter1," doc",p_Filter2);

            //从列表中删除所有"好"文档
             set_Filter3 = OPERATION_SET(" symmdiff",set_Filter1,set_Filter2);

            //检查结果:如果列表不为空,则有错误
             KL_Result = KEYLIST_FROM_SET(set_Filter3);
             if(KL_Result.length> 0){
                 WRITE_OBJECTLIST(KL_Result,"没有排他的材料链接的文件");
                 alert(KL_Result.length +"所选文档没有排他的材料链接。");
             }其他{
                 alert("成功!\ n所有选定的文档确实具有排他的材料链接。");
             }
         }其他{
             alert("所选文档中没有一个具有重要链接。");
         }
     }其他{
         alert("选择至少一个文档。");
     }
 }