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) |