selection-screen begin of block block1 with frame title text-.

parameters:p_mon1 like s031-spmon,

           p_mon2 like s031-spmon.

selection-screen end of block block1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_mon1.

  PERFORM MONAT_F4.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_mon2.

  PERFORM MONAT_F4.

FORM MONAT_F4 .

  DATA: BEGIN OF MF_DYNPFIELDS OCCURS .

          INCLUDE STRUCTURE DYNPREAD.

  DATA: END   OF MF_DYNPFIELDS.

  DATA: MF_RETURNCODE   LIKE SY-SUBRC,

        MF_MONAT        LIKE ISELLIST-MONTH,

        MF_HLP_REPID    LIKE SY-REPID.

  FIELD-SYMBOLS: <MF_FELD>.

* Wert von Dynpro lesen

  GET CURSOR FIELD MF_DYNPFIELDS-FIELDNAME.

  APPEND MF_DYNPFIELDS.

  MF_HLP_REPID = SY-REPID.

  DO  TIMES.

    CALL FUNCTION 'DYNP_VALUES_READ'

      EXPORTING

        DYNAME               = MF_HLP_REPID

        DYNUMB               = SY-DYNNR

      TABLES

        DYNPFIELDS           = MF_DYNPFIELDS

      EXCEPTIONS

        INVALID_ABAPWORKAREA = 

        INVALID_DYNPROFIELD  = 

        INVALID_DYNPRONAME   = 

        INVALID_DYNPRONUMMER = 

        INVALID_REQUEST      = 

        NO_FIELDDESCRIPTION  = 

        UNDEFIND_ERROR       = .

    IF SY-SUBRC = .

*     Aktuelles Dynpro ist Wertemengenbild

      MF_HLP_REPID = 'SAPLALDB'.

    ELSE.

      READ TABLE MF_DYNPFIELDS INDEX .

*     Unterstriche durch Blanks ersetzen

      TRANSLATE MF_DYNPFIELDS-FIELDVALUE USING '_ '.

      EXIT.

    ENDIF.

  ENDDO.

  IF SY-SUBRC = .

*   Konvertierung ins interne Format

    CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'

      EXPORTING

        INPUT         = MF_DYNPFIELDS-FIELDVALUE

      IMPORTING

        OUTPUT        = MF_MONAT

      EXCEPTIONS

        ERROR_MESSAGE = .

    IF MF_MONAT IS INITIAL.

*     Monat ist initial => Vorschlagswert aus akt. Datum ableiten

      MF_MONAT = SY-DATLO().

    ENDIF.

    CALL FUNCTION 'POPUP_TO_SELECT_MONTH'

      EXPORTING

        ACTUAL_MONTH               = MF_MONAT

      IMPORTING

        SELECTED_MONTH             = MF_MONAT

        RETURN_CODE                = MF_RETURNCODE

      EXCEPTIONS

        FACTORY_CALENDAR_NOT_FOUND = 

        HOLIDAY_CALENDAR_NOT_FOUND = 

        MONTH_NOT_FOUND            = .

    IF SY-SUBRC =  AND MF_RETURNCODE = .

      CALL FUNCTION 'CONVERSION_EXIT_PERI_OUTPUT'

        EXPORTING

          INPUT  = MF_MONAT

        IMPORTING

          OUTPUT = MF_DYNPFIELDS-FIELDVALUE.

      COLLECT MF_DYNPFIELDS.

      CALL FUNCTION 'DYNP_VALUES_UPDATE'

        EXPORTING

          DYNAME               = MF_HLP_REPID

          DYNUMB               = SY-DYNNR

        TABLES

          DYNPFIELDS           = MF_DYNPFIELDS

        EXCEPTIONS

          INVALID_ABAPWORKAREA = 

          INVALID_DYNPROFIELD  = 

          INVALID_DYNPRONAME   = 

          INVALID_DYNPRONUMMER = 

          INVALID_REQUEST      = 

          NO_FIELDDESCRIPTION  = 

          UNDEFIND_ERROR       = .           "<<== note 148804

    ENDIF.

  ENDIF.

ENDFORM.                                                    " MONAT_F4

*************************************************************************************

"前一个月

data:datum type sy-datum.

CALL FUNCTION 'BKK_ADD_MONTH_TO_DATE'

  EXPORTING

    MONTHS        = -

    OLDDATE       = sy-datum

  IMPORTING

    NEWDATE       = datum

          .

  p_mon1 = datum+().

  p_mon2 = sy-datum+().

ABAP-年月期间搜索帮助的更多相关文章

  1. ABAP search help (搜索帮助) 几种种方法

    ABAP search help (搜索帮助) 几种种方法    域范围  ABAP 的搜索帮助有很多种方法,掌握下面的几种基本差不多了 *&------------------------- ...

  2. ABAP 中的搜索帮助

    ABAP 中的搜索帮助 https://blog.csdn.net/u011576750/article/details/50999078 一.简介:在abap中,用到的搜索帮助个人遇到的情况如下,进 ...

  3. ABAP DEMO 年月的搜索帮助

    效果图: *&---------------------------------------------------------------------* *& Report YCX_ ...

  4. abap seach help 搜索帮助

    ABAP 的搜索帮助有很多种方法,掌握下面的几种基本差不多了 *&--------------------------------------------------------------- ...

  5. ERP报错:所在的期间无效,但又无法新增账套期间。

    问题: 进入2018新年月,客户在新增单据的时候,报错:日期[2018-01-03]所在的期间无效 正常解决方法 过账期间里面设置一下路径:管理----期间与结账----过账期间设置 先设置年期间-- ...

  6. 使用Visual Studio Code编写和激活ABAP代码 (上)

    猪年春节后的第一篇,Jerry祝各位猪年大吉! 2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,在年初制定的小目标都 ...

  7. 【ABAP系列】【第五篇】SAP ABAP7.50 之用户接口

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列][第五篇]SAP ABAP7.5 ...

  8. SAP翔子_ABAP_DEMO篇索引

    序号 描述 SAP翔子_ABAP_DEMO篇1 ABAP DEMO篇1 单层反查BOM SAP翔子_ABAP_DEMO篇2 ABAP DEMO篇2 删除工艺路线 SAP翔子_ABAP_DEMO篇3 A ...

  9. 屏幕 Dynpro

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. binlog cache size设置是否合理判断

    二进制日志是写操作是,首先写入二进制日志缓冲(binlog_cache)然后commit,再从binlog_cache写入到binlog文件,默认大小为32K,而binlog_cache是sessio ...

  2. Mfs+drbd+keepalived实现mfs系统高可用

    http://blog.sina.com.cn/s/blog_53c654720102wo1k.html Moosefs分布式文件系统是一个易用的系统,但其只有在Pro版中提供了master的高可用方 ...

  3. ORACLE数据导入导出后新数据库中某些表添加操作报错[ORA-12899]

    由于项目需要,我在搭建了新的开发环境后,需要将之前环境中的ORACLE数据库导出,再导入到新的开发环境下.当导出导入完成后,使用数据库进行添加操作时 发现针对很多表的添加操作报错,具体报错原因描述为: ...

  4. 解决webpack不是内部命令

    在指定路径下安装webpack npm install webpack --save-dev 但是报”不是内部命令错误" 解决方法:安装全局webpack   npm install web ...

  5. 实验 1 Java 运行环境的安装、配置与运行

    一.实验目的     1. 掌握下载 Java SDK 软件包.     2. 掌握设置 Java 程序运行环境的方法.     3. 掌握编写与运行 Java 程序的方法.     4. 了解 Ja ...

  6. 轻松理解execl系列函数

    execl函数功能如下:启动一个可执行文件,并且对他进行传送参数.一些原型如下 #include <unistd.h> extern char **environ; int execl(c ...

  7. csrf xss sql注入

    1.输入框 sql注入 测试直接在输入框输入1' ,看sql会不会拼接出错 xss攻击 csrf攻击 测试直接在输入框输入 <script>alert(123)</script> ...

  8. VBA文本型数字变成数值

    sub test()with activesheet  .usedrange.numberformatlocal=""  .usedrange=.usedrange.valueen ...

  9. 阿里云启用IPV6

    ping过别人的IPv6网址之后,可以确定,局域网是不支持IPv6的.所以要使用隧道技术建立两台机器之间的IPv6连接 1.发现测试用服务器上没有IPv6地址.所以测试服务器的内核应该是没有IPv6模 ...

  10. 关于json_encode()的使用注意

    json_encode($json_str,true)在一般情况下可以返回一个数组,但当$json_str的字符编码是GBK或其它时,返回的是一个 空数组,必须用iconv(‘gbk’,‘ut8//I ...