Anda di halaman 1dari 7

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 <fs_konv>.
MOVE-CORRESPONDING <fs_konv> TO lwa_suma.
COLLECT lwa_suma INTO ltd_suma.
ENDLOOP.
*Verifico si el total es mayor a 0
READ TABLE ltd_suma ASSIGNING <fs_suma> INDEX 1.
IF sy-subrc EQ 0.
IF <fs_suma>-kwert GT 0.
CLEAR ltd_konp.
REFRESH ltd_konp.
SELECT knumh
INTO TABLE
FROM konp
WHERE knumh
AND kschl
AND kappl

kopos kbetr
ltd_konp
EQ '0000006910'
EQ 'ZEDT'
EQ 'V'.

IF sy-subrc EQ 0.
READ TABLE ltd_konp ASSIGNING <fs_konp> 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 <fs_konp>-kbetr TO char06.
MOVE char06+0(2) TO ls_char02.
CONCATENATE '% Porcentaje de detraccin' ' ' ls_char02 '.00%' INTO cha
r06.
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 <fs_suma>-kwert NE '0.00'.

MOVE <fs_suma>-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: <fs_linesx> LIKE LINE OF lt_linesx,
<fs_linesx2> LIKE LINE OF lt_linesx,
<fs_linesx3> LIKE LINE OF lt_linesx,
<fs_linesx4> LIKE LINE OF lt_linesx,
<fs_linesx5> LIKE LINE OF lt_linesx,
<fs_linesx6> LIKE LINE OF lt_linesx,
<fs_linesy> 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
language
name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

=
=
=
=

'Z001'
sy-langu
w_tdname6
'VBBK'

= lt_linesx
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_linesx> INDEX 1.
IF sy-subrc EQ 0.
READ TABLE lt_linesx ASSIGNING <fs_linesx2> INDEX 2.
IF sy-subrc EQ 0.
CONCATENATE <fs_linesx> <fs_linesx2> 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 <fs_linesx3> INDEX 3.
IF sy-subrc EQ 0.
READ TABLE lt_linesx ASSIGNING <fs_linesx4> INDEX 4.
IF sy-subrc EQ 0.
CONCATENATE <fs_linesx3> <fs_linesx4> 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 <fs_linesx5> INDEX 3.
IF sy-subrc EQ 0.
READ TABLE lt_linesx ASSIGNING <fs_linesx6> INDEX 4.
IF sy-subrc EQ 0.
CONCATENATE <fs_linesx5> <fs_linesx6> 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
language

= 'Z002'
= sy-langu

name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

= w_tdname2
= 'VBBK'
= lt_lines4
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines4> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines4>-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
language
name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

=
=
=
=

'Z003'
sy-langu
w_tdname2
'VBBK'

= lt_lines5
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines5> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines5>-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
language
name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

=
=
=
=

'Z007'
sy-langu
w_tdname2
'VBBK'

= lt_lines6
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines6> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines6>-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
language
name
object

=
=
=
=

'Z002'
sy-langu
w_tdname2
'VBBK'

TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

= lt_lines4
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines4> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines4>-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
language
name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

=
=
=
=

'Z003'
sy-langu
w_tdname2
'VBBK'

= lt_lines5
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines5> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines5>-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
language
name
object
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS

=
=
=
=

'Z007'
sy-langu
w_tdname2
'VBBK'

= lt_lines6
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
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 <fs_lines6> INDEX 1.
IF sy-subrc EQ 0.
MOVE <fs_lines6>-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.

Anda mungkin juga menyukai