Chinaunix首页 | 论坛 | 博客
  • 博客访问: 286389
  • 博文数量: 62
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-07 23:16
个人简介

Be a simple man

文章分类

全部博文(62)

文章存档

2012年(6)

2011年(15)

2010年(6)

2009年(3)

2008年(5)

2007年(27)

我的朋友

分类:

2007-07-26 23:52:36

*&---------------------------------------------------------------------*
*& Report  Z_JASON_TEST_F4                                             *
*&                                                                     *
*&---------------------------------------------------------------------*
REPORT  z_jason_test_f4                         .
TABLES: s031.
PARAMETER p_spmon  TYPE spmon DEFAULT sy-datum+0(6) OBLIGATORY.
SELECT-OPTIONS s_spmon FOR s031-spmon DEFAULT sy-datum+0(6) OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_spmon.
  PERFORM monat_f4.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_spmon-low.
  PERFORM monat_f4.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_spmon-high.
  PERFORM monat_f4.
FORM  monat_f4.
  DATA: BEGIN OF mf_dynpfields OCCURS 1.
          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: .
  GET CURSOR FIELD mf_dynpfields-fieldname.
  APPEND mf_dynpfields.
  mf_hlp_repid = sy-repid.
  DO 2 TIMES.
    CALL FUNCTION 'DYNP_VALUES_READ'
         EXPORTING
              dyname               = mf_hlp_repid
              dynumb               = sy-dynnr
         TABLES
              dynpfields           = mf_dynpfields
         EXCEPTIONS
              invalid_abapworkarea = 01
              invalid_dynprofield  = 02
              invalid_dynproname   = 03
              invalid_dynpronummer = 04
              invalid_request      = 05
              no_fielddescription  = 06
              undefind_error       = 07.
    IF sy-subrc = 3.
      mf_hlp_repid = 'SAPLALDB'.
    ELSE.
      READ TABLE mf_dynpfields INDEX 1.
      TRANSLATE mf_dynpfields-fieldvalue USING '_ '.
      EXIT.
    ENDIF.
  ENDDO.
  IF sy-subrc = 0.
    CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'
         EXPORTING
              input  = mf_dynpfields-fieldvalue
         IMPORTING
              output = mf_monat
         EXCEPTIONS
              error_message = 1.
    IF mf_monat IS INITIAL.
      mf_monat = sy-datlo(6).
    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 = 01
              holiday_calendar_not_found = 02
              month_not_found            = 03.
    IF sy-subrc = 0 AND mf_returncode = 0.
      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 = 01
                invalid_dynprofield  = 02
                invalid_dynproname   = 03
                invalid_dynpronummer = 04
                invalid_request      = 05
                no_fielddescription  = 06
                undefind_error       = 07.
    ENDIF.
  ENDIF.
ENDFORM.                               "MONAT_F4
阅读(1479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~