zoukankan      html  css  js  c++  java
  • Flexible variants in STVARV

    DATA: lv_time   TYPE TVARV_VAL,
           lv_tvarvc(25) .
     CONSTANTS lv_prefix(25) VALUE 'ZZXXS_'.
    
     CONCATENATE lv_prefix p_werks INTO lv_tvarvc.
     SELECT SINGLE low INTO lv_time
        FROM tvarvc
        WHERE name = lv_tvarvc
        AND type = 'P'.
        IF sy-subrc eq 0.
          g_time = lv_time.
        ELSE.
          g_time = '000000'.
        ENDIF.
      CLEAR:lv_time,lv_tvarvc.
    
      data: lt_tvarvc type table of tvarvc,
            ls_tvarvc type tvarvc,
            ls_mtrgrp type gds_selrange_matkl,
            ls_subct_mtrgrp type gds_selrange_matkl,
            ls_vendors type range_lifnr.
    
      refresh lt_tvarvc.
      select * into corresponding fields of table lt_tvarvc
        from tvarvc
        where name eq 'ZXXX'
        and type eq 'S'.
      if sy-subrc eq 0.
        loop at lt_tvarvc into ls_tvarvc.
          ls_mtrgrp-sign = ls_tvarvc-sign.
          ls_mtrgrp-option = ls_tvarvc-opti.
          ls_mtrgrp-low = ls_tvarvc-low.
          ls_mtrgrp-high = ls_tvarvc-high.
          append ls_mtrgrp to it_mtrgrp.
        endloop.
        clear ls_tvarvc.
      endif.
    
    TYPES:
           BEGIN OF STRUC_MAILADR,
            MAIL_ADR TYPE ADR6-SMTP_ADDR,
          END OF STRUC_MAILADR.
    
    DATA:G_WA_MAILADR TYPE STRUC_MAILADR,
              G_IT_MAILADR LIKE TABLE OF G_WA_MAILADR.
    
    FORM GET_RECIPENT .
      RANGES LR_RECIPENT FOR ADR6-SMTP_ADDR.
    
      DATA:  LW_RECIPENT LIKE LINE OF LR_RECIPENT,
             LV_RECIPENT TYPE TVARV_VAL.
    
      DATA:L_IT_MAILADR LIKE TABLE OF G_WA_MAILADR.
    
      SELECT LOW INTO TABLE L_IT_MAILADR
        FROM TVARVC
        WHERE NAME = 'ZXXXXXX'
        AND TYPE = 'S'.
      IF SY-SUBRC EQ 0.
        SORT L_IT_MAILADR.
        DELETE ADJACENT DUPLICATES FROM L_IT_MAILADR.
        APPEND LINES OF L_IT_MAILADR TO G_IT_MAILADR.
        REFRESH L_IT_MAILADR.
      ENDIF.
    ENDFORM.             
    
    "one common FM
    FUNCTION Z_GET_STVARV_VARIANTS .
    *"----------------------------------------------------------------------
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(I_TVARVC_TYPE) TYPE  RSSCR_KIND
    *"     REFERENCE(I_TVARVC_NAME) TYPE  RVARI_VNAM
    *"  CHANGING
    *"     REFERENCE(CT_TVARVC_VAL) TYPE  ZSTVARV_TAB
    *"----------------------------------------------------------------------
      DATA: LT_TVARVC TYPE TABLE OF TVARVC..
    
      REFRESH LT_TVARVC.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_TVARVC
        FROM TVARVC
        WHERE NAME EQ I_TVARVC_NAME
        AND TYPE EQ I_TVARVC_TYPE.
      IF SY-SUBRC EQ 0.
        APPEND LINES OF LT_TVARVC TO CT_TVARVC_VAL.
      ENDIF.
      FREE LT_TVARVC.
    
    ENDFUNCTION.
    
  • 相关阅读:
    .Net Core部署到CentOS
    Docker容器中开始.Net Core之路
    自我总结和学习表单提交的几种方式 (二)
    自我总结和学习表单提交的几种方式 (一)
    Asp.Net MVC下自定义错误页和展示错误页的几种方式
    .Net下发送邮件遇到问题及解决方案
    Asp.Net MVC CodeFirst模式数据库迁移步骤
    利用微软认知服务实现语音识别功能
    Asp.Net MVC路由生成URL过程
    针对于多线程概念的理解
  • 原文地址:https://www.cnblogs.com/aurora-cj/p/9684734.html
Copyright © 2011-2022 走看看