Advertisement
NAVAPAT_T

ABAP : Recursive customer address

Jun 6th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 2.55 KB | None | 0 0
  1.  "Call with Recursive concept
  2.              flag = '1'.
  3.              "line1
  4.              PERFORM concat_txt USING  <fs_kna1>-ANRED CHANGING flag.
  5.              PERFORM concat_txt USING  <fs_adrc>-name1 CHANGING flag.
  6.              PERFORM concat_txt USING  <fs_adrc>-name2 CHANGING flag.
  7.              "line2
  8.              PERFORM concat_txt USING  <fs_adrc>-str_suppl1 CHANGING flag.
  9.              PERFORM concat_txt USING  <fs_adrc>-roomnumber CHANGING flag.
  10.              PERFORM concat_txt USING  <fs_adrc>-name_co    CHANGING flag.
  11.              PERFORM concat_txt USING  <fs_adrc>-house_num1 CHANGING flag.
  12.              PERFORM concat_txt USING  <fs_adrc>-str_suppl2 CHANGING flag.
  13.              PERFORM concat_txt USING  <fs_adrc>-street     CHANGING flag.
  14.              "Line3
  15.              PERFORM concat_txt USING  <fs_adrc>-location   CHANGING flag.
  16.              PERFORM concat_txt USING  <fs_adrc>-city2      CHANGING flag.
  17.              PERFORM concat_txt USING  <fs_adrc>-city1      CHANGING flag.
  18.              PERFORM concat_txt USING  <fs_adrc>-post_code1 CHANGING flag.
  19.  
  20. ============================================================================
  21. FORM concat_txt  USING    p_word
  22.                  CHANGING p_flag.
  23.   DATA : lv_string TYPE i,
  24.          lv_sum_len    TYPE i,
  25.          lv_word    TYPE i.
  26.  
  27. "This perform build with concept recursieve function
  28.  
  29.   CASE p_flag.
  30.     WHEN '1'.
  31.       lv_sum_len = strlen( p_word ) +  strlen( gs_header-line1 ).
  32.       IF lv_sum_len >= 60.
  33.          "do nothing but send to FORM concat_text
  34.          p_flag = 2.
  35.          PERFORM concat_txt USING p_word CHANGING p_flag.
  36.       ELSE.
  37.          CONCATENATE gs_header-line1 p_word INTO gs_header-line1 SEPARATED BY space.
  38.       ENDIF.
  39.  
  40.     WHEN '2'.
  41.       lv_sum_len = strlen( p_word ) +  strlen( gs_header-line2 ).
  42.       IF lv_sum_len >= 60.
  43.          "do nothing but send to FORM concat_text
  44.          p_flag = 3.
  45.          PERFORM concat_txt USING p_word CHANGING p_flag.
  46.       ELSE.
  47.          CONCATENATE gs_header-line2 p_word INTO gs_header-line2 SEPARATED BY space.
  48.       ENDIF.
  49.  
  50.     WHEN '3'.
  51.       lv_sum_len = strlen( p_word ) +  strlen( gs_header-line3 ).
  52.       IF lv_word > 20 AND lv_string > 40.
  53.          "do nothing but send to FORM concat_text
  54.          p_flag = 4.
  55.          PERFORM concat_txt USING p_word CHANGING p_flag.
  56.       ELSE.
  57.          CONCATENATE gs_header-line3 p_word INTO gs_header-line3 SEPARATED BY space.
  58.       ENDIF.
  59.  
  60.     WHEN '4'.
  61.       CONCATENATE gs_header-line4 p_word INTO gs_header-line4 SEPARATED BY space.
  62.   ENDCASE.
  63.  
  64. ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement