`

根据物料特性获得物料号

UP 
阅读更多

 FORM frm_search_objects .

  TRANSLATE p_concat TO UPPER CASE" contril category  Upper case
  TRANSLATE p_matcat TO UPPER CASE" material category  Upper case

** Local data declaration.
  DATA: ls_klah     TYPE klah.    "Class Header Data.
  DATA: lt_criteria LIKE comw OCCURS 0 WITH HEADER LINE."Charac/Values.
  DATA: lt_atinn    LIKE clsel_r_atinn OCCURS 0 WITH HEADER LINE.
  DATA: lt_api_char LIKE api_char OCCURS 0 WITH HEADER LINE.
  DATA: lt_comw     LIKE comw OCCURS 0 WITH HEADER LINE.
  DATA: lv_class   LIKE clselinput-class VALUE 'N_QA_CLASS'"Class NO.
        lv_klart   LIKE klah-klart VALUE '001'.         "Class Type.

  DATA: lt_objects LIKE clsel_search_objects OCCURS 0 WITH HEADER LINE.
  DATA: lt_matvalues LIKE ausp OCCURS 0 WITH HEADER LINE.
  "Charac Values.

  FIELD-SYMBOLS: <fs_matvalues> LIKE LINE OF lt_matvalues,
                 <fs_objects>   LIKE LINE OF lt_objects.

  DATABEGIN OF ls_class,
        atnam  LIKE cabn-atnam,  "Internal characteristic.
        atbez  LIKE cabnt-atbez, "Characteristic description.
        atwrt  LIKE cawn-atwrt,  "Characteristic Value.
     END OF ls_class,
     lt_class LIKE TABLE OF ls_class.

  DATA: ls_features LIKE klvmera,
       lt_features  LIKE TABLE OF klvmera,
       ls_values   LIKE api_vali,
       lt_values    LIKE TABLE OF api_vali.
** Check that Class Exists and is Valid.
  CALL FUNCTION 'CLMA_CLASS_EXIST'
    EXPORTING
      class            = lv_class
      classtype        = lv_klart
      date             = sy-datum
      description_only = space
      language         = sy-langu
      mode             = 'S'
    IMPORTING
      xklah            = ls_klah
    EXCEPTIONS
      no_valid_sign    = 1
      OTHERS           = 2.
  ls_class-atnam = 'N_TECH_CONTROL'.
  ls_class-atwrt = p_concat.
  APPEND ls_class TO lt_class.

  ls_class-atnam = 'N_MATERIAL_CAT'.
  ls_class-atwrt = p_matcat.
  APPEND ls_class TO lt_class.
* Dynamic database set up for class entered.
  CALL FUNCTION 'CTMS_CLASS_DDB'
    EXPORTING
      class         = lv_class
      classtype     = lv_klart
      mode          = 'S'
      language      = sy-langu
      key_date      = sy-datum
      i_add_on_char = 'X'
      i_tabs_active = 'X'
    EXCEPTIONS
      OTHERS        = 0.

  CALL FUNCTION 'CTMS_DDB_CLOSE'
    TABLES
      exp_selection = lt_comw
    EXCEPTIONS
      OTHERS        = 0.

  CALL FUNCTION 'CLME_FEATURE_ATTR_OF_CLASS_ALL'
    EXPORTING
      class             = lv_class
      classtype         = lv_klart
      language          = sy-langu
      key_date          = sy-datum
      with_values       = 'X'
      i_sorted_by_class = 'X'
    TABLES
      tfeatures         = lt_features
      tvalues           = lt_values
    EXCEPTIONS
      class_not_found   = 1
      no_authority      = 2
      OTHERS            = 3.
** Select criteria of characteristic values.
  LOOP AT lt_class INTO ls_class WHERE atwrt NE space.
    READ TABLE lt_values INTO ls_values
                         WITH KEY atnam = ls_class-atnam
                                  atwrt = ls_class-atwrt.
    IF sy-subrc = 0.
      READ TABLE lt_comw WITH KEY atinn = ls_values-atinn.
      IF sy-subrc = 0.
        MOVE-CORRESPONDING lt_comw TO lt_criteria.
        lt_criteria-atwrt = ls_class-atwrt.
        lt_criteria-atzhl = ls_values-atzhl.
        lt_criteria-atflv = ls_values-atflv.
        lt_criteria-atcod = ls_values-atcod.
        lt_criteria-atflb = ls_values-atflb.
        lt_criteria-slflb = ls_values-atflb.
        IF ls_values-atcod = '1'.
          lt_criteria-slcod = '1'.
        ELSE.
          lt_criteria-slcod = '2'.
        ENDIF.
        APPEND lt_criteria TO lt_criteria[].
      ENDIF.
** Append Internal Characteristic Number.
      lt_atinn-sign = 'I'.
      lt_atinn-option = 'EQ'.
      lt_atinn-low    = ls_values-atinn.
      APPEND: lt_atinn.
      CLEAR: lt_criteria, ls_values, ls_class, lt_atinn.
    ENDIF.
  ENDLOOP.
*** Search material according to the characteristic values.
  IF lt_criteria[] IS NOT INITIAL or lt_atinn[] is NOT INITIAL.
    CALL FUNCTION 'CLSC_SEARCH_OBJECTS'
      EXPORTING
       i_classtype                    = lv_klart
       i_top_class_struc              = ls_klah
       i_keydate                      = sy-datum
       i_language                     = sy-langu
*       I_MAFID                        = 'O'
*       I_STATUS_FREE                  = 'X'
*       I_CTMS_DDB_LOADED              = 'X'
      TABLES
*       I_R_SUBCLASSES_TAB             =
*       I_R_OBJECTTYPES_TAB            =
       i_selection_criteria_tab       = lt_criteria[]
       i_r_characteristics_tab        = lt_atinn[]
       i_e_objects_tab                = lt_objects
       i_e_values_tab                 = lt_matvalues
     EXCEPTIONS
       no_objects_found               = 1
       inconsistent_parameters        = 2
       no_authority_classtype         = 3
       no_valid_classes               = 4
       internal_error                 = 5
       OTHERS                         = 6
              .
*    IF sy-subrc <> 0.
*      MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
*              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*    ENDIF.

** Get material number according to the characteristic values.
    IF lt_objects[] IS NOT INITIAL.
      LOOP AT lt_objects ASSIGNING <fs_objects>.
        gs_mat-matnr = <fs_objects>-object(18).
        APPEND gs_mat TO gt_mat.
        CLEAR: gs_mat.
      ENDLOOP.
    ELSE.
      LOOP AT lt_matvalues ASSIGNING <fs_matvalues>.
        gs_mat-matnr = <fs_matvalues>-objek(18).
        APPEND gs_mat TO gt_mat.
        CLEAR: gs_mat.
      ENDLOOP.
    ENDIF.
  ENDIF.
  IF gt_mat IS INITIAL.
    MESSAGE ' no data match this control category and Material category'
    TYPE 'I'.
    EXIT.
  ENDIF.
  SORT gt_mat BY matnr.
ENDFORM.                    " frm_search_objects

 

 

 

与特性值有关的表  ausp  cabn  也可以直接从表中查找 

 

 

 

 

分享到:
评论

相关推荐

    行业分类-设备装置-一种湿粘物料粘附特性测试装置与方法.zip

    标题中的“行业分类-设备装置-一种湿粘物料粘附特性测试装置与方法”表明了这个压缩包内容涉及的是工业设备领域,特别是针对湿粘物料的粘附特性测试的装置和方法。湿粘物料通常指的是在湿润状态下具有粘性的物质,如...

    固体物料分选学课件.pptx

    筛分分析是通过使用一系列具有不同孔径的筛子对物料进行筛分,得到各粒级物料的质量占比,从而得到粒度组成。粒度特性方程则是数学上对粒度分布的描述,如罗吉尔-罗斯分布、邦德分布等,这些方程可以帮助我们更好地...

    库房物料入库管理程序培训.pptx

    在验收工作中,需要根据物料的性质,如易腐、易锈、易熔等特性,合理安排货位,以避免物料在存储过程中的损害。同时,需要缩短入库时间,以提高仓库周转率。在堆码时,需预先计算物料占地面积,准备好所需的机械设备...

    access版物料管理系统源码

    在这个"access版物料管理系统"中,Access的这些特性得到了充分的体现。 首先,我们关注的是仓库管理功能。仓库管理是物料管理的核心部分,涉及库存的入库、出库、盘点等操作。在Access中,可以设计相应的表来存储...

    R3功能详解-物料管理

    分类功能允许用户根据物料的特性对其进行分组,方便管理和检索。 **3.6 条件** 条件管理功能使企业能够根据特定条件(如采购数量、时间等)灵活调整物料价格或其他费用。 #### 物料需求计划 **4.1 计划过程** 物料...

    物料订单订购流程图(表格模板、DOC格式).doc

    在**订购方式判别**中,物控部门将根据物料特性、供应商状况以及库存状态,决定是常规采购、紧急采购还是调整库存。这一决策过程需要综合考虑成本、交货期和质量保证等多方面因素,以达到最优化的采购效果。 当库存...

    计算机仿真技术模拟烟草物料运行状态研究.pdf

    为了获得准确的容重数据,研究人员设计并制作了特殊的测试箱,通过模拟实际生产工况下的物料输送,对叶片、叶丝和梗丝的容重进行了细致的测量。这些数据为后续建立数学模型提供了坚实的基础。 模型建立阶段,研究...

    物流工程方庆琯第5章物料搬运系统分析.pptx

    - 根据物料特性确定修正参数。 - 根据修正因素表调整数值,最后通过公式计算得出玛格数。 4. 修正因素表: 表格列出了不同物料在松密度、形状、损伤危险性和情况等方面的修正因素值,这些值用于调整玛格数计算。...

    基于PLC的物料混合控制系统的设计及仿真.pdf

    随着生产要求的提升,物料混合控制系统需具备高效、快速、高精度和操作简便等特性。为此,本文提出了一种基于可编程逻辑控制器(PLC)为核心,配合WinCC Flexible组态监控和Profibus通信的物料混合控制系统设计方案...

    物料搬运系统分析课件.pptx

    物料搬运系统分析是物流管理中的重要环节,主要关注如何有效地移动和处理物料,以提高生产效率和降低成本。...在实际应用中,需要结合具体业务环境和物料特性灵活运用这些理论,以实现更高效、经济的物料搬运。

    物料编码的方法[文].pdf

    它利用阿拉伯数字的特性,根据物料的特性来编排数字,从而形成编码。其中,连续数字编码法简单易懂,按照物料入库的顺序赋予流水号,但这种编码方式与物料属性并无直接关联,可能会导致物料编码分布不集中,从而在...

    物料进厂检验图表.doc

    这些项目根据物料的特性和使用要求来设定,确保检验覆盖所有关键质量因素。 “检项方法”是实施检验的具体操作步骤和技术要求,如使用何种设备、工具,如何判断合格与否,以及执行的程序等。这些方法必须清晰、可...

    按照水泥产量计算全厂全年物料量的程序.doc

    6. **整合总物料量**:将所有原料的实际用量相加,得到全厂全年所需的总物料量。 通过这样的程序,我们可以精确地估算出全厂一年中需要消耗的原料总量,这对于合理采购、库存管理以及生产计划制定具有重要的指导...

    XCTF_A_物料清单标准功能培训.pptx

    - **物料属性管控**:物料属性定义了物料的特性,如材质、颜色、尺寸等,有助于精细化管理。 - **物料状态控制**:物料的状态跟踪其在生产过程中的变化,如可用、预留、已分配等。 2. **用料表管理**: - **用料...

    行业分类-设备装置-一种桨叶式黏稠物料屈服应力旋转测试装置.zip

    桨叶的设计对于测试结果的准确性有直接影响,因此需要根据物料特性来精心选择和设计。 在工业应用中,利用桨叶式旋转测试装置可以对黏稠物料的流变特性进行深入分析,从而对生产流程中的关键环节进行优化。例如,在...

    基于PFC3D的颚式破碎机物料破碎行为研究

    对物料模型进行模拟单轴压缩实验,反复调节参数,从而得到了与真实物料相符合的力学特性。物料模型在重力的作用下下落并在动颚的作用下被破碎,得到了动颚对物料做功的数据,从而绘出破碎功图。通过分析破碎功图,发现...

Global site tag (gtag.js) - Google Analytics