App Enhance
App Enhance
DATA: lt_3100_tb_tmp TYPE hap_t_dynp_3100_tb, lw_columns TYPE HAP_S_BODY_COLUMNS, lw_body_elements_p TYPE hap_s_body_elements, lw_body_elements_n TYPE hap_s_body_elements, lw_category TYPE zappcategory, lw_values TYPE setvalues, lv_char TYPE char2, lv_setid TYPE SETID, lv_count TYPE sytabix, lv_index TYPE sytabix, lv_number TYPE HAP_ELEMENT_NUMBERING, * lw_qcat TYPE ty_qcat, lt_category TYPE STANDARD TABLE OF zappcategory, lt_values TYPE STANDARD TABLE OF setvalues, * lt_qcat TYPE STANDARD TABLE OF ty_qcat, lw_body_elements_tmp TYPE hap_s_body_elements. DATA: lr_colid TYPE RANGE OF HAP_COLUMN_ID, lw_colid like LINE OF lr_colid. field-SYMBOLS : <fs> TYPE HAP_S_BODY_COLUMNS. CONSTANTS: lc_setname TYPE SETNAMENEW VALUE 'ZQUALCATEGORY', lc_set TYPE setnamenew value 'ZQUALTEMPLATE'. CLEAR lw_colid. lw_colid-sign = 'I'. lw_colid-option = 'EQ'. lw_colid-low = 'FAPP'. APPEND lw_colid to lr_colid. CLEAR lw_colid. lw_colid-sign = 'I'. lw_colid-option = 'EQ'. lw_colid-low = 'MAND'. APPEND lw_colid to lr_colid. CLEAR: lv_setid. CALL FUNCTION 'G_SET_ENCRYPT_SETID' EXPORTING setclass = '0000' shortname = lc_set IMPORTING SETID = lv_setid EXCEPTIONS NO_CO_AREA_SPECIFIED = 1 ILLEGAL_SETCLASS = 2 OTHERS = 3 . IF sy-subrc = 0. refresh: lt_values[]. CALL FUNCTION 'G_SET_TREE_IMPORT' EXPORTING CLIENT = SY-MANDT setid = lv_setid TABLES
SET_VALUES EXCEPTIONS SET_NOT_FOUND ILLEGAL_FIELD_REPLACEMENT ILLEGAL_TABLE_REPLACEMENT SET_IS_DAMAGED OTHERS . IF sy-subrc = 0. ENDIF. ENDIF.
= lt_values = = = = = 1 2 3 4 5
*DESCRIBE TABLE pt_body_elements LINES lv_lines. *SORT pt_body_elements by row_iid. CLEAR lw_values. READ TABLE lt_values INTO lw_values WITH KEY to = G_TEMPLATE_ID. IF sy-subrc = 0. CLEAR: lv_setid. CALL FUNCTION 'G_SET_ENCRYPT_SETID' EXPORTING setclass = '0000' shortname = lc_setname IMPORTING SETID = lv_setid EXCEPTIONS NO_CO_AREA_SPECIFIED = 1 ILLEGAL_SETCLASS = 2 OTHERS = 3 . IF sy-subrc = 0. refresh: lt_values[]. CALL FUNCTION 'G_SET_TREE_IMPORT' EXPORTING CLIENT setid TABLES SET_VALUES EXCEPTIONS SET_NOT_FOUND ILLEGAL_FIELD_REPLACEMENT ILLEGAL_TABLE_REPLACEMENT SET_IS_DAMAGED OTHERS . IF sy-subrc = 0. ENDIF. ENDIF. IF lw_values-from+6(2) = '01' or lw_values-from+6(2) = '03'. LOOP AT pt_body_columns ASSIGNING <fs> WHERE column_id in lr_colid.
IF <fs>-column_id = 'FAPP'. <fs>-column_name = 'Primary Development Goal'. *<fs>-availability = 'X'. ELSEIF <fs>-column_id = 'MAND'. <fs>-column_name = 'Gap'. ENDIF. ENDLOOP. SELECT * FROM zappcategory INTO TABLE lt_category WHERE plvar = '01' AND begda LE sy-datum AND endda GE sy-datum. IF sy-subrc = 0. SORT lt_category by qualc sobid_qua. ENDIF. CLEAR: lw_body_elements_tmp, lv_count. LOOP AT pt_body_elements INTO lw_body_elements_tmp WHERE Element_type = 'VC' and foreign_type = 'Q'. *lv_index = sy-tabix - lv_count. CLEAR lw_body_elements_p. READ TABLE pt_body_elements INTO lw_body_elements_p WITH KEY row_iid = lw_body_elements_tmp-parent. * BINARY SEARCH. IF sy-subrc = 0. CLEAR lw_values. READ TABLE lt_values INTO lw_values WITH KEY to = lw_body_elements_p-element_id. IF sy-subrc = 0. lw_values-from = lw_values-from+6(2). CLEAR lw_category. READ TABLE lt_category INTO lw_category WITH key qualc = lw_values-from sobid_qua = lw_body_elements_tmp-foreign_id BINARY SEARCH. IF sy-subrc <> 0. DELETE pt_body_elements WHERE row_iid = lw_body_elements_tmp-row_iid AND parent = lw_body_elements_tmp-parent.
CLEAR: lw_body_elements_n, lv_count. LOOP AT pt_body_elements INTO lw_body_elements_n WHERE parent = lw_body_ele ments_tmp-parent and row_sort LE lw_body_e lements_tmp-row_sort. lv_count = lv_count + 1. ENDLOOP. WRITE lv_count to lv_char. lw_body_elements_tmp-numbering = lw_body_elements_tmp-numbering+0(2). CONCATENATE lw_body_elements_tmp-numbering lv_char INTO lv_number. lw_body_elements_tmp-numbering = lv_number. MODIFY pt_body_elements FROM lw_body_elements_tmp TRANSPORTING numbering WHERE row_iid = lw_body_elements_tmp-row_iid AND parent = lw_body_elements_tmp-parent. ENDIF. ENDIF. ENDIF. ENDLOOP. ELSEIF lw_values-from+6(2) = '02'. DATA lt_appgoals_tmp TYPE STANDARD TABLE OF zappgoals. DATA lt_appgoals TYPE STANDARD TABLE OF zappgoals. DATA lw_appgoal TYPE zappgoals. DATA lv_lines_g TYPE syindex. DATA lv_lines_b TYPE syindex. DATA lv_cnt TYPE i. DATA lw_return TYPE bal_s_msg. DATA lv_row TYPE HAP_ROW_IID. DATA lt_body_elements_tmp TYPE hap_t_body_elements. DATA lw_body_cell_tmp TYPE hap_s_body_cells. DATA: l_enhancement_type TYPE hap_enhancement_type. DATA: lt_body_elements_add TYPE hap_t_body_elements_add, lt_body_elements_struc_add TYPE hap_t_body_elements_struc_add. SELECT * FROM zappgoals INTO TABLE lt_appgoals WHERE begda LE sy-datum AND endda GE sy-datum. IF sy-subrc = 0. lt_appgoals_tmp[] = lt_appgoals[]. DELETE lt_appgoals_tmp WHERE goal_type ne 'C'. DESCRIBE TABLE lt_appgoals_tmp LINES lv_lines_g. ENDIF.
lt_body_elements_tmp[] = pt_body_elements[]. CLEAR: lw_values. READ TABLE lt_values INTO lw_values WITH KEY from = '00000007'. IF sy-subrc = 0. CLEAR lw_body_elements_p. READ TABLE pt_body_elements INTO lw_body_elements_p WITH KEY element_id = lw_values-to. * BINARY SEARCH. IF sy-subrc = 0. CLEAR lw_body_elements_n. READ TABLE pt_body_elements INTO lw_body_elements_n WITH KEY parent = lw_body_elements_p-row_iid. * BINARY SEARCH. IF sy-subrc = 0. CLEAR: lw_appgoal. READ TABLE lt_appgoals_tmp INTO lw_appgoal INDEX 1. IF sy-subrc = 0. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_p-row_iid AND column_iid = '0002'. * AND value_text_available = 'X' * AND cell_value_availability = 'D' * AND cell_value_class = 'M'. ENDIF. DELETE lt_body_elements_tmp WHERE element_id ne lw_body_elements_n-element_id. DESCRIBE TABLE lt_body_elements_tmp LINES lv_lines_b. CLEAR: lw_appgoal, lv_row, lv_cnt. LOOP AT lt_appgoals_tmp INTO lw_appgoal. lv_cnt = lv_cnt + 1. IF lv_cnt LE lv_lines_b. CLEAR: lw_body_elements_tmp. LOOP AT pt_body_elements INTO lw_body_elements_tmp WHERE row_iid GT lv_row AND element_id eq lw_body_elements_n-element_id.
lw_body_elements_tmp-name = lw_appgoal-OBJ_DESC. CLEAR: LW_BODY_CELL_TMP. READ TABLE pt_body_cells INTO lw_body_cell_tmp WITH KEY row_iid = lw_body_elements_tmp-row_iid. * * * IF sy-subrc = 0. LW_BODY_CELL_TMP-value_txt = lw_appgoal-target. LW_BODY_CELL_TMP-value_num = lw_appgoal-target. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0003'. * * * ENDIF. MODIFY pt_body_elements FROM lw_body_elements_tmp TRANSPORTING name WHERE row_iid = lw_body_elements_tmp-row_iid. lv_row = lw_body_elements_tmp-row_iid. CLEAR: lw_body_elements_tmp. exit. ENDLOOP. else. refresh: lt_body_elements_add[], lt_body_elements_struc_add. CLEAR: l_enhancement_type, lw_return. CALL FUNCTION 'HRHAP_DOC_BODY_ENHANCE_FREE' EXPORTING row_iid = lw_body_elements_n-parent plan_version = G_PLVAR s_appraisal_id = GS_APPRAISAL_ID s_doc_processing = GS_DOC_PROCESSING t_header_appraiser = GT_HEADER_APPRAISER t_header_appraisee = GT_HEADER_APPRAISEE t_header_part_appraisers = GT_HEADER_P_APPRAISER t_header_others = GT_HEADER_OTHERS s_header_dates = GS_HEADER_DATES s_header_status = GS_HEADER_STATUS t_body_elements = GT_BODY_ELEMENTS trusted_call = 'X' IMPORTING enhancement_type = l_enhancement_type t_body_elements_add = lt_body_elements_add AND AND AND value_text_available = 'X' cell_value_availability = 'X' cell_value_class = 'M'. value_text_available = 'X' cell_value_availability = 'X' cell_value_class = 'M'.
t_body_elements_struc_add = lt_body_elements_struc_add s_return = lw_return. IF lw_return-msgty = 'E'. ELSE. CALL FUNCTION 'HRHAP_DOC_BODY_ENHANCE' EXPORTING row_iid = lw_body_elements_n-parent plan_version = G_PLVAR s_appraisal_id = GS_APPRAISAL_ID t_header_appraiser = GT_HEADER_APPRAISER t_header_appraisee = GT_HEADER_APPRAISEE t_header_part_appraisers = GT_HEADER_P_APPRAISER t_header_others = GT_HEADER_OTHERS s_header_dates = GS_HEADER_DATES s_header_status = GS_HEADER_STATUS t_body_columns = GT_BODY_COLUMNS free_enhancement = 'X' trusted_call = 'X' enhancement_type = l_enhancement_type t_body_elements_add = lt_body_elements_add t_body_elements_struc_add = lt_body_elements_struc_add IMPORTING s_return = lw_return CHANGING s_doc_processing = GS_DOC_PROCESSING t_body_elements = GT_BODY_ELEMENTS t_body_element_descr = GT_BODY_ELEMENT_DESCR t_body_element_buttons = GT_BODY_ELEMENT_BUTTONS t_body_cells = GT_BODY_CELLS t_body_cell_notes = GT_BODY_CELL_NOTES t_body_cell_val_values = GT_BODY_CELL_VAL_VALUES t_body_cell_val_ranges = GT_BODY_CELL_VAL_RANGES t_body_cell_val_c_like = GT_BODY_CELL_VAL_C_LIKE t_body_cell_val_descr = GT_BODY_CELL_VAL_DESCR. IF lw_return-msgty = 'E'. ELSE. CLEAR: lw_body_elements_tmp. LOOP AT pt_body_elements INTO lw_body_elements_tmp WHERE row_iid GT lv_row AND element_id eq lw_body_elements_n-element_id. lw_body_elements_tmp-name = lw_appgoal-OBJ_DESC. CLEAR: LW_BODY_CELL_TMP. READ TABLE pt_body_cells INTO lw_body_cell_tmp WITH KEY row_iid = lw_body_elements_tmp-row_iid. * value_text_available = 'X' * cell_value_availability = 'X' * cell_value_class = 'M'. IF sy-subrc = 0. LW_BODY_CELL_TMP-value_txt = lw_appgoal-target. LW_BODY_CELL_TMP-value_num = lw_appgoal-target. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP
TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0003'. * * * ENDIF. MODIFY pt_body_elements FROM lw_body_elements_tmp TRANSPORTING name WHERE row_iid = lw_body_elements_tmp-row_iid. lv_row = lw_body_elements_tmp-row_iid. CLEAR: lw_body_elements_tmp. exit. ENDLOOP. ENDIF. endif. ENDIF. ENDLOOP. endif. endif. AND AND AND value_text_available = 'X' cell_value_availability = 'X' cell_value_class = 'M'.
*CLEAR: lw_body_elements_tmp. *LOOP AT lt_body_elements_tmp INTO lw_body_elements_tmp. * * *ENDLOOP. ENDIF. CLEAR: lw_values. READ TABLE lt_values INTO lw_values WITH KEY from = '00000008'. IF sy-subrc = 0. CLEAR lw_body_elements_p. READ TABLE pt_body_elements INTO lw_body_elements_p WITH KEY element_id = lw_values-to. * BINARY SEARCH. IF sy-subrc = 0. CLEAR: lw_appgoal. READ TABLE lt_appgoals INTO lw_appgoal WITH KEY goal_type = 'O'. IF sy-subrc = 0. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP
TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_p-row_iid AND value_text_available = 'X' AND column_iid = '0002'. AND cell_value_availability = 'X' AND cell_value_class = 'M'.
CLEAR: lw_values. READ TABLE lt_values INTO lw_values WITH KEY from = '00000009'. IF sy-subrc = 0. CLEAR lw_body_elements_p. READ TABLE pt_body_elements INTO lw_body_elements_p WITH KEY element_id = lw_values-to. * BINARY SEARCH. IF sy-subrc = 0. CLEAR: lw_appgoal. READ TABLE lt_appgoals INTO lw_appgoal WITH KEY goal_type = 'P' goal_subtype = '01'. IF sy-subrc = 0. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_p-row_iid AND column_iid = '0002'. * * * endif. endif. endif. CLEAR: lw_values. READ TABLE lt_values INTO lw_values WITH KEY from = '00000010'. IF sy-subrc = 0. CLEAR lw_body_elements_p. AND AND AND value_text_available = 'X' cell_value_availability = 'X' cell_value_class = 'M'.
READ TABLE pt_body_elements INTO lw_body_elements_p WITH KEY element_id = lw_values-to. * BINARY SEARCH. IF sy-subrc = 0. CLEAR: lw_appgoal. READ TABLE lt_appgoals INTO lw_appgoal WITH KEY goal_type = 'P' goal_subtype = '02' obj_code = '0000000000'. IF sy-subrc = 0. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_p-row_iid AND column_iid = '0002'. * * * endif. CLEAR lw_body_elements_n. READ TABLE pt_body_elements INTO lw_body_elements_n WITH KEY parent = lw_body_elements_p-row_iid. * BINARY SEARCH. IF sy-subrc = 0. refresh: lt_appgoals_tmp[]. lt_appgoals_tmp[] = lt_appgoals[]. delete lt_appgoals_tmp WHERE ( goal_type ne 'P' OR goal_subtype ne '02' ) or obj_code eq '0000000000'. refresh: lt_body_elements_tmp[]. lt_body_elements_tmp[] = pt_body_elements[]. DELETE lt_body_elements_tmp WHERE element_id ne lw_body_elements_n-element_id. CLEAR: lv_lines_b. DESCRIBE TABLE lt_body_elements_tmp LINES lv_lines_b. CLEAR: lw_appgoal, lv_row, lv_cnt. LOOP AT lt_appgoals_tmp INTO lw_appgoal. lv_cnt = lv_cnt + 1. IF lv_cnt LE lv_lines_b. CLEAR: lw_body_elements_tmp. LOOP AT pt_body_elements INTO lw_body_elements_tmp AND AND AND value_text_available = 'X' cell_value_availability = 'X' cell_value_class = 'M'.
WHERE row_iid GT lv_row AND element_id eq lw_body_elements_n-element_id. lw_body_elements_tmp-name = lw_appgoal-OBJ_DESC. CLEAR: LW_BODY_CELL_TMP. READ TABLE pt_body_cells INTO lw_body_cell_tmp WITH KEY row_iid = lw_body_elements_tmp-row_iid. * value_text_available = 'X' * cell_value_availability = 'X' * cell_value_class = 'M'. IF sy-subrc = 0. LW_BODY_CELL_TMP-value_txt = lw_appgoal-target. LW_BODY_CELL_TMP-value_num = lw_appgoal-target. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0003'. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0002'. * AND value_text_available = 'X' * AND cell_value_availability = 'X' * AND cell_value_class = 'M'. ENDIF. MODIFY pt_body_elements FROM lw_body_elements_tmp TRANSPORTING name WHERE row_iid = lw_body_elements_tmp-row_iid. lv_row = lw_body_elements_tmp-row_iid. CLEAR: lw_body_elements_tmp. exit. ENDLOOP. else. refresh: lt_body_elements_add[], lt_body_elements_struc_add. CLEAR: l_enhancement_type, lw_return. CALL FUNCTION 'HRHAP_DOC_BODY_ENHANCE_FREE' EXPORTING row_iid = lw_body_elements_n-parent plan_version = G_PLVAR s_appraisal_id = GS_APPRAISAL_ID
s_doc_processing t_header_appraiser t_header_appraisee t_header_part_appraisers t_header_others s_header_dates s_header_status t_body_elements trusted_call IMPORTING enhancement_type t_body_elements_add t_body_elements_struc_add s_return IF lw_return-msgty = 'E'. ELSE.
= = = = = = = = = = = = =
GS_DOC_PROCESSING GT_HEADER_APPRAISER GT_HEADER_APPRAISEE GT_HEADER_P_APPRAISER GT_HEADER_OTHERS GS_HEADER_DATES GS_HEADER_STATUS GT_BODY_ELEMENTS 'X' l_enhancement_type lt_body_elements_add lt_body_elements_struc_add lw_return.
CALL FUNCTION 'HRHAP_DOC_BODY_ENHANCE' EXPORTING row_iid = lw_body_elements_n-parent plan_version = G_PLVAR s_appraisal_id = GS_APPRAISAL_ID t_header_appraiser = GT_HEADER_APPRAISER t_header_appraisee = GT_HEADER_APPRAISEE t_header_part_appraisers = GT_HEADER_P_APPRAISER t_header_others = GT_HEADER_OTHERS s_header_dates = GS_HEADER_DATES s_header_status = GS_HEADER_STATUS t_body_columns = GT_BODY_COLUMNS free_enhancement = 'X' trusted_call = 'X' enhancement_type = l_enhancement_type t_body_elements_add = lt_body_elements_add t_body_elements_struc_add = lt_body_elements_struc_add IMPORTING s_return = lw_return CHANGING s_doc_processing = GS_DOC_PROCESSING t_body_elements = GT_BODY_ELEMENTS t_body_element_descr = GT_BODY_ELEMENT_DESCR t_body_element_buttons = GT_BODY_ELEMENT_BUTTONS t_body_cells = GT_BODY_CELLS t_body_cell_notes = GT_BODY_CELL_NOTES t_body_cell_val_values = GT_BODY_CELL_VAL_VALUES t_body_cell_val_ranges = GT_BODY_CELL_VAL_RANGES t_body_cell_val_c_like = GT_BODY_CELL_VAL_C_LIKE t_body_cell_val_descr = GT_BODY_CELL_VAL_DESCR. IF lw_return-msgty = 'E'. ELSE. CLEAR: lw_body_elements_tmp. LOOP AT pt_body_elements INTO lw_body_elements_tmp WHERE row_iid GT lv_row AND element_id eq lw_body_elements_n-element_id. lw_body_elements_tmp-name = lw_appgoal-OBJ_DESC. CLEAR: LW_BODY_CELL_TMP.
READ TABLE pt_body_cells INTO lw_body_cell_tmp WITH KEY row_iid = lw_body_elements_tmp-row_iid. * value_text_available = 'X' * cell_value_availability = 'X' * cell_value_class = 'M'. IF sy-subrc = 0. LW_BODY_CELL_TMP-value_txt = lw_appgoal-target. LW_BODY_CELL_TMP-value_num = lw_appgoal-target. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0003'. CLEAR: LW_BODY_CELL_TMP. LW_BODY_CELL_TMP-value_txt = lw_appgoal-weight. LW_BODY_CELL_TMP-value_num = lw_appgoal-weight. clear: LW_BODY_CELL_TMP-no_value. MODIFY pt_BODY_CELLs FROM LW_BODY_CELL_TMP TRANSPORTING value_txt value_num no_value WHERE row_iid = lw_body_elements_tmp-row_iid AND column_iid = '0002'. * * * * ENDIF. MODIFY pt_body_elements FROM lw_body_elements_tmp TRANSPORTING name WHERE row_iid = lw_body_elements_tmp-row_iid. lv_row = lw_body_elements_tmp-row_iid. CLEAR: lw_body_elements_tmp. exit. ENDLOOP. ENDIF. endif. ENDIF. ENDLOOP. endif. endif. endif. ENDIF. ENDIF. * *lt_3100_tb_tmp[] = gt_3100_tb[]. * **lv_lines = lv_lines + 1. * AND AND AND AND value_text_available = 'X' cell_value_availability = 'X' cell_input_note_5022 = 'X' cell_value_class = 'M'.
*CLEAR lw_columns. **<fs>-line = lv_lines. *lw_columns-column_iid = lv_lines. *lw_columns-column_id = 'MAND'. *lw_columns-part_ap_id = '000'. *lw_columns-column_name = 'ABCDEFGH'. *lw_columns-availability = ''. * *MODIFY pt_body_columns FROM lw_columns INDEX lv_lines. **append lw_columns to pt_body_columns. *CLEAR: lw_columns.