Chuva
01/10/14, 16:48:15
Hola, soy algo nuevo en abap y tengo una duda.
Tengo un method set_handler en el que mando llamar un method handle_top_of_page y no he podido agregar lineas.. no se si estoy haciendo algo mal, espero me puedan ayudar.. abajo pongo el código...
METHOD handle_top_of_page. "HANDLE_TOP_OF_PAGE
* Declaraciones de variables locales.
DATA: vl_text TYPE sdydo_text_element,
vl_day(2) TYPE c,
vl_mnth TYPE t247-mnr,
vl_year(4) TYPE c,
vl_month_name TYPE t247-ltx.
* Declaraciones de objetos locales.
DATA: ol_table TYPE REF TO cl_dd_table_element,
ol_column1 TYPE REF TO cl_dd_area,
ol_column2 TYPE REF TO cl_dd_area,
ol_row1 TYPE REF TO cl_dd_area,
ol_row2 TYPE REF TO cl_dd_area,
ol_row3 TYPE REF TO cl_dd_area.
* Crear tabla con dos columnas...
CALL METHOD e_dyndoc_id->add_table
EXPORTING
no_of_columns = 2
width = '100%'
border = '0'
IMPORTING
table = ol_table.
* Inicializar ancho de columna 1...
CALL METHOD ol_table->add_column
EXPORTING
width = '80%'
IMPORTING
column = ol_column1.
* Inicializar ancho de columna 2...
CALL METHOD ol_table->add_column
EXPORTING
width = '20%'
IMPORTING
column = ol_column2.
* call method ol_column1->add_row "add row
* EXPORTING
* width = '20%'
* IMPORTING
* row = ol_row1.
* Agregar logo a la columna 1...
CALL METHOD ol_column2->add_picture
EXPORTING
picture_id = 'ENJOYSAP_LOGO'.
vl_day = sy-datum+6(2).
vl_mnth = sy-datum+4(2).
vl_year = sy-datum(devil).
* Se obtiene el nombre del mes
CALL FUNCTION 'ISP_GET_MONTH_NAME'
EXPORTING
language = sy-langu
month_number = vl_mnth
IMPORTING
longtext = vl_month_name
EXCEPTIONS
calendar_id = 1
date_error = 2
not_found = 3
wrong_input = 4
OTHERS = 5.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*Sociedad
READ TABLE tg_t001
INTO wa_t001
WITH KEY bukrs = so_bukrs-low
BINARY SEARCH.
IF sy-subrc NE 0.
CLEAR wa_t001.
ENDIF.
CONCATENATE text-003
so_bukrs-low
wa_t001-butxt
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 2...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
**Agregar espacio antes del texto en la columna 2...
* CALL METHOD ol_column1->add_gap
* EXPORTING
* width = 20.
CONCATENATE text-001
vl_day
text-002
vl_month_name
text-002
vl_year
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
* Se obtiene el texto para la descripción del banco
READ TABLE tg_t012t
INTO wa_t012t
WITH KEY hbkid = so_hbkid
BINARY SEARCH.
* IF sy-subrc = 0.
CONCATENATE text-004
so_hbkid
wa_t012t-text1
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
* ENDIF.
CLEAR vl_text.
*
CONCATENATE text-005
so_hktid
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
*
CONCATENATE text-006
so_hktid
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
ENDMETHOD.
Tengo un method set_handler en el que mando llamar un method handle_top_of_page y no he podido agregar lineas.. no se si estoy haciendo algo mal, espero me puedan ayudar.. abajo pongo el código...
METHOD handle_top_of_page. "HANDLE_TOP_OF_PAGE
* Declaraciones de variables locales.
DATA: vl_text TYPE sdydo_text_element,
vl_day(2) TYPE c,
vl_mnth TYPE t247-mnr,
vl_year(4) TYPE c,
vl_month_name TYPE t247-ltx.
* Declaraciones de objetos locales.
DATA: ol_table TYPE REF TO cl_dd_table_element,
ol_column1 TYPE REF TO cl_dd_area,
ol_column2 TYPE REF TO cl_dd_area,
ol_row1 TYPE REF TO cl_dd_area,
ol_row2 TYPE REF TO cl_dd_area,
ol_row3 TYPE REF TO cl_dd_area.
* Crear tabla con dos columnas...
CALL METHOD e_dyndoc_id->add_table
EXPORTING
no_of_columns = 2
width = '100%'
border = '0'
IMPORTING
table = ol_table.
* Inicializar ancho de columna 1...
CALL METHOD ol_table->add_column
EXPORTING
width = '80%'
IMPORTING
column = ol_column1.
* Inicializar ancho de columna 2...
CALL METHOD ol_table->add_column
EXPORTING
width = '20%'
IMPORTING
column = ol_column2.
* call method ol_column1->add_row "add row
* EXPORTING
* width = '20%'
* IMPORTING
* row = ol_row1.
* Agregar logo a la columna 1...
CALL METHOD ol_column2->add_picture
EXPORTING
picture_id = 'ENJOYSAP_LOGO'.
vl_day = sy-datum+6(2).
vl_mnth = sy-datum+4(2).
vl_year = sy-datum(devil).
* Se obtiene el nombre del mes
CALL FUNCTION 'ISP_GET_MONTH_NAME'
EXPORTING
language = sy-langu
month_number = vl_mnth
IMPORTING
longtext = vl_month_name
EXCEPTIONS
calendar_id = 1
date_error = 2
not_found = 3
wrong_input = 4
OTHERS = 5.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*Sociedad
READ TABLE tg_t001
INTO wa_t001
WITH KEY bukrs = so_bukrs-low
BINARY SEARCH.
IF sy-subrc NE 0.
CLEAR wa_t001.
ENDIF.
CONCATENATE text-003
so_bukrs-low
wa_t001-butxt
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 2...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
**Agregar espacio antes del texto en la columna 2...
* CALL METHOD ol_column1->add_gap
* EXPORTING
* width = 20.
CONCATENATE text-001
vl_day
text-002
vl_month_name
text-002
vl_year
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
* Se obtiene el texto para la descripción del banco
READ TABLE tg_t012t
INTO wa_t012t
WITH KEY hbkid = so_hbkid
BINARY SEARCH.
* IF sy-subrc = 0.
CONCATENATE text-004
so_hbkid
wa_t012t-text1
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
* ENDIF.
CLEAR vl_text.
*
CONCATENATE text-005
so_hktid
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CLEAR vl_text.
*
CONCATENATE text-006
so_hktid
INTO vl_text
SEPARATED BY space.
* Agregar texto en la columna 1...
CALL METHOD ol_column1->add_text
EXPORTING
text = vl_text
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
ENDMETHOD.