logica_copiada

Embed Size (px)

DESCRIPTION

logica

Citation preview

CLEAR ltd_konv. REFRESH ltd_konv. DATA char13(13) TYPE c. DATA: w_tdname2 TYPE thead-tdname. SELECT knumv kposn stunr zaehk kwert INTO TABLE ltd_konv FROM konv WHERE knumv EQ lwa_vbrk-knumv AND kschl EQ 'ZEDT' AND stunr EQ '700' AND kappl EQ 'V' AND kvsl1 EQ 'Z4'. IF NOT ltd_konv[] IS INITIAL. "Si tiene detraccion*Sumo el valor de la condicicon para obtener el total LOOP AT ltd_konv ASSIGNING . MOVE-CORRESPONDING TO lwa_suma. COLLECT lwa_suma INTO ltd_suma. ENDLOOP.*Verifico si el total es mayor a 0 READ TABLE ltd_suma ASSIGNING INDEX 1. IF sy-subrc EQ 0. IF -kwert GT 0. CLEAR ltd_konp. REFRESH ltd_konp. SELECT knumh kopos kbetr INTO TABLE ltd_konp FROM konp WHERE knumh EQ '0000006910' AND kschl EQ 'ZEDT' AND kappl EQ 'V'. IF sy-subrc EQ 0. READ TABLE ltd_konp ASSIGNING INDEX 1. IF sy-subrc EQ 0.*OBSERVACION2 CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION2' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. DATA char06(6) TYPE c. MOVE -kbetr TO char06. MOVE char06+0(2) TO ls_char02. CONCATENATE '% Porcentaje de detraccin' ' ' ls_char02 '.00%' INTO char06. CONCATENATE ls_linea char06 INTO ls_linea RESPECTING BLANKS. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char60. ENDIF. ENDIF.*OBSERVACION3 IF -kwert NE '0.00'. MOVE -kwert TO ls_char100. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION3' TO ls_char60. CONCATENATE ls_linea ls_char60 'Monto de detraccin' ' ' ls_char100 INTO ls_linea RESPECTING BLANKS. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char60. ENDIF.*OBSERVACION4 DATA: lt_linesx TYPE STANDARD TABLE OF tline, lt_linesy TYPE STANDARD TABLE OF tline. FIELD-SYMBOLS: LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesx, LIKE LINE OF lt_linesy. DATA: w_tdname6 TYPE thead-tdname. CLEAR w_tdname6. w_tdname6 = lwa_vbrk-vbeln. REFRESH lt_linesx. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z001' language = sy-langu name = w_tdname6 object = 'VBBK' TABLES lines = lt_linesx EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_linesx[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION4' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_linesx ASSIGNING INDEX 1. IF sy-subrc EQ 0. READ TABLE lt_linesx ASSIGNING INDEX 2. IF sy-subrc EQ 0. CONCATENATE INTO ls_char100 SEPARATED BY space. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION5 IF NOT lt_linesx[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION5' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_linesx ASSIGNING INDEX 3. IF sy-subrc EQ 0. READ TABLE lt_linesx ASSIGNING INDEX 4. IF sy-subrc EQ 0. CONCATENATE INTO ls_char100 SEPARATED BY space. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION6 IF NOT lt_linesx[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION6' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_linesx ASSIGNING INDEX 3. IF sy-subrc EQ 0. READ TABLE lt_linesx ASSIGNING INDEX 4. IF sy-subrc EQ 0. CONCATENATE INTO ls_char100 SEPARATED BY space. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF. ELSE.*OBSERVACION7 CLEAR w_tdname2. w_tdname2 = lwa_vbrk-vbeln. REFRESH lt_lines4. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z002' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines4 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines4[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION7' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines4 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION8 REFRESH lt_lines5. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z003' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines5 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines5[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION3' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines5 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION9 REFRESH lt_lines6. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z007' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines6 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines6[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION4' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines6 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF. ENDIF. ENDIF. ELSE.*OBSERVACION2 DATA: w_tdname2 TYPE thead-tdname. CLEAR w_tdname2. w_tdname2 = lwa_vbrk-vbeln. REFRESH lt_lines4. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z002' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines4 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines4[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION2' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines4 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION3 REFRESH lt_lines5. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z003' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines5 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines5[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION3' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines5 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.*OBSERVACION4 REFRESH lt_lines6. CALL FUNCTION 'READ_TEXT' EXPORTING id = 'Z007' language = sy-langu name = w_tdname2 object = 'VBBK' TABLES lines = lt_lines6 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF NOT lt_lines6[] IS INITIAL. CONCATENATE lc_ngha '' INTO ls_linea. MOVE 'OBSERVACION4' TO ls_char60. CONCATENATE ls_linea ls_char60 INTO ls_linea RESPECTING BLANKS. READ TABLE lt_lines6 ASSIGNING INDEX 1. IF sy-subrc EQ 0. MOVE -tdline TO ls_char100. CONCATENATE ls_linea ls_char100 INTO ls_linea RESPECTING BLANKS. ENDIF. MOVE ls_linea TO lwa_salida-linea. APPEND lwa_salida TO ltd_salida. CLEAR: ls_linea, ls_char100, ls_char60. ENDIF.ENDIF.