前进、目标  

 
FORM SPLIST_THREE USING VALUE(_STRALL) TYPE STRING VALUE(_STRCOLS) 
TYPE I
      CHANGING _STR1 TYPE STRING _STR2 TYPE STRING _STR3 TYPE STRING.
  CLEAR:_STR1,_STR2,_STR3.
  DATA:_STRLEN TYPE I.
  DATA:_POSI TYPE VALUE '0'.
  DATA:_POSILEN TYPE VALUE '0'.
  CONDENSE _STRALL NO-GAPS.
  _STRLEN = STRLEN( _STRALL ).
  IF _STRCOLS >= _STRLEN.
    _STR1 = _STRALL.
  ELSE.
    _STR1 = _STRALL+0(_STRCOLS).
  ENDIF.
  IF _STRLEN > _STRCOLS.
  _POSILEN = _STRLEN - _STRCOLS.
  IF _POSILEN >= _STRCOLS.
    _POSILEN = _STRCOLS.
  ENDIF.
  _STR2 = _STRALL+_STRCOLS(_POSILEN).
  IF _POSILEN >= _STRCOLS.
    _POSI = _STRCOLS * 2.
    _POSILEN = _STRLEN - _POSI.
    IF _POSILEN > 0.
    _STR3 = _STRALL+_POSI(_POSILEN).
    ENDIF.
  ENDIF.
ENDIF.
ENDFORM.

posted on 2011-11-17 17:13  前进、目标  阅读(1348)  评论(0)    收藏  举报