Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235054
  • 博文数量: 90
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-04 15:21
文章分类

全部博文(90)

文章存档

2010年(7)

2009年(83)

我的朋友

分类:

2009-05-26 17:30:34

  AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PRD_PL-LOW.
  PERFORM F_GET_PRODH USING C_PRODH1
                      CHANGING S_PRD_PL-LOW.
-------------------------------------------------------------------------------------
  FORM F_GET_PRODH  USING    FP_C_PRODH  TYPE ANY
                  CHANGING FP_PRODH    TYPE ANY.

  DATA: L_I_PRODHSINFO    TYPE STANDARD TABLE OF DD03P,
        L_WA_PRODHSINFO   TYPE DD03P.
  DATA: L_ROOT  TYPE T179-PRODH,
        L_STUFE TYPE T179-STUFE VALUE 1,
        L_KP_PRODH TYPE T179-PRODH,
        L_PRODHS_NAME1 TYPE CHAR30,
        L_PRODHS_NAME2 TYPE CHAR30.
  DATA: L_WA_PRODHS TYPE PRODHS.                            "#EC NEEDED

  FIELD-SYMBOLS:  TYPE ANY.
  CALL FUNCTION 'RV_PRODUKTHIERARCHIE_INFO'
    TABLES
      FPRODHSINFO    = L_I_PRODHSINFO
    EXCEPTIONS                                              "#EC *
      TOO_MANY_LEVEL = 1
      OTHERS         = 2.
*  IF SY-SUBRC <> 0.
*  ENDIF.

  CONCATENATE 'L_WA_PRODHS' '-' FP_C_PRODH   INTO L_PRODHS_NAME1.
  LOOP AT L_I_PRODHSINFO  INTO L_WA_PRODHSINFO.

    CONCATENATE 'L_WA_' L_WA_PRODHSINFO-TABNAME '-'
    L_WA_PRODHSINFO-FIELDNAME INTO L_PRODHS_NAME2.
    IF L_PRODHS_NAME1 = L_PRODHS_NAME2.
      EXIT.
    ELSE.
      ASSIGN (L_PRODHS_NAME2) TO .
    ENDIF.
    IF  IS ASSIGNED.
      TRANSLATE  USING ' +'.
      CONCATENATE L_ROOT  INTO L_ROOT.
      L_STUFE = L_STUFE + 1.
    ENDIF.
  ENDLOOP.

  CALL FUNCTION 'RV_PRODUKTHIERARCHIE_SHOW'
    EXPORTING
      ROOT           = L_ROOT
      SELMODE        = '2'
      STUFE          = L_STUFE
      DISPLAY        = 'X'
      SHOW_ONLY      = ' '
    IMPORTING
      NODE_PICKED    = L_KP_PRODH
    EXCEPTIONS                                              "#EC *
      ROOT_NOT_EXIST = 1
      TOO_MANY_LEVEL = 2
      OTHERS         = 3.
*  IF ( SY-SUBRC = 0 ) AND ( NOT KP_PRODH IS INITIAL )
*     AND ( SHOW_ONLY = NO ).
  MOVE L_KP_PRODH TO L_WA_PRODHS .
  ASSIGN (L_PRODHS_NAME1) TO .
*    MOVE  TO .
*  ENDIF.
  IF  IS ASSIGNED.
    FP_PRODH = .
  ENDIF.
ENDFORM.                    " f_get_prodh
阅读(535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~