Ver Mensaje Individual
  #1  
Viejo 14/07/08, 21:31:58
jeanficetola jeanficetola is offline
Member
 
Fecha de Ingreso: sep 2007
Localización: Venezuela
Mensajes: 64
Smile Como colocar los titulos de un ALV Jerarquico (las posiciones en la Cabecera)

FORM append_alv_for_documents .
DATA: ls_layout TYPE slis_layout_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv,
lt_fieldcat_all TYPE slis_t_fieldcat_alv,
lt_eventtab TYPE slis_t_event,
ls_key TYPE slis_keyinfo_alv,
ls_events TYPE slis_alv_event.

FIELD-SYMBOLS:
<ls_fieldcat> TYPE slis_fieldcat_alv.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_structure_name = 'FAGL_S_RFBELJ10_DOCUMENTS_HEAD'
CHANGING
ct_fieldcat = lt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.


IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.



LOOP AT lt_fieldcat ASSIGNING <ls_fieldcat>.
<ls_fieldcat>-tabname = 'HEAD'.

CASE <ls_fieldcat>-fieldname.

* WHEN 'USNAM'.

* <ls_fieldcat>-no_out = 'X'.
* if poland is initial.
* <ls_fieldcat>-no_out = 'X'.
* endif.
WHEN 'BUKRS' OR 'GJAHR'.
<ls_fieldcat>-no_out = 'X'.
* WHEN 'NUMBR'.
* <ls_fieldcat>-seltext_l = text-140.
* <ls_fieldcat>-seltext_m = text-140.
* <ls_fieldcat>-seltext_s = text-140.
* <ls_fieldcat>-reptext_ddic = text-140.
* <ls_fieldcat>-no_zero = 'X'.
WHEN 'WAERS'.
<ls_fieldcat>-no_out = 'X'.
WHEN 'CPUDT'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'BLDAT'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'BLAR'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'DOCNR'.
<ls_fieldcat>-no_out = 'X'.
WHEN 'RYEAR'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'STBLG'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'STJAH'.
<ls_fieldcat>-no_out = 'X'.

ENDCASE.

ENDLOOP.

APPEND LINES OF lt_fieldcat TO lt_fieldcat_all.
REFRESH lt_fieldcat.


CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_structure_name = 'FAGL_S_RFBELJ10_DOCUMENTS_ITEM'
CHANGING
ct_fieldcat = lt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
LOOP AT lt_fieldcat ASSIGNING <ls_fieldcat>.
<ls_fieldcat>-tabname = 'ITEM'.
CASE <ls_fieldcat>-fieldname.
WHEN 'BUKRS' OR 'GJAHR' OR 'BELNR' OR 'NUMBR' OR 'HWAER'
OR 'NAME2' OR 'PSTLZ' OR 'ORT01' OR 'STRAS'
OR 'SGTXT'.
<ls_fieldcat>-no_out = 'X'.


WHEN 'WRSHB'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'BUZEI'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'DOCLN'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'GSBER'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'BSCHL'.
<ls_fieldcat>-no_out = 'X'.

WHEN 'UMSKZ'.
<ls_fieldcat>-no_out = 'X'.

WHEN ' XNEGP'.
<ls_fieldcat>-no_out = 'X'.


WHEN 'KOART'.
<ls_fieldcat>-no_out = 'X'. "note955881


WHEN 'XNEGP'.
<ls_fieldcat>-no_out = 'X'.


WHEN 'DMHAB'. "HABER

<ls_fieldcat>-do_sum = 'X'.

IF italy IS INITIAL. "note955881
<ls_fieldcat>-no_zero = 'X'.
<ls_fieldcat>-seltext_l = text-131.
<ls_fieldcat>-seltext_m = text-131.
<ls_fieldcat>-seltext_s = text-131.
<ls_fieldcat>-reptext_ddic = text-131.
ENDIF.
* <ls_fieldcat>-outputlen = 15.


WHEN 'DMSOL'. "DEBE

<ls_fieldcat>-do_sum = 'X'.

IF italy IS INITIAL. "note955881

<ls_fieldcat>-no_zero = 'X'.
<ls_fieldcat>-seltext_l = text-130.
<ls_fieldcat>-seltext_m = text-130.
<ls_fieldcat>-seltext_s = text-130.
<ls_fieldcat>-reptext_ddic = text-130.
ENDIF.
* <ls_fieldcat>-outputlen = 15.


WHEN 'DOCLN'.
IF NOT fagl_active IS INITIAL
AND par_docc IS INITIAL.
ELSE.
<ls_fieldcat>-no_out = 'X'.
ENDIF.

ENDCASE.
ENDLOOP.

APPEND LINES OF lt_fieldcat TO lt_fieldcat_all.

ls_layout-list_append = 'X'.
ls_layout-min_linesize = 255.
ls_layout-info_fieldname = 'COLOR'.

ls_events-name = 'END_OF_LIST'.
ls_events-form = 'OUTPUT_EOL'.
append ls_events to lt_eventtab.
ls_events-name = 'TOP_OF_PAGE'.
ls_events-form = 'TOP_OF_PAGE'.
APPEND ls_events TO lt_eventtab.
ls_events-name = 'END_OF_PAGE'.
ls_events-form = 'END_OF_PAGE'.
APPEND ls_events TO lt_eventtab.

ls_key-header01 = 'BUKRS'.
ls_key-item01 = 'BUKRS'.
ls_key-header02 = 'BELNR'.
ls_key-item02 = 'BELNR'.
ls_key-header03 = 'GJAHR'.
ls_key-item03 = 'GJAHR'.

gs_variant-report = sy-repid.
gs_variant-variant = par_var1.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = ls_layout
it_fieldcat = lt_fieldcat_all
* it_sort = lt_sort_acc
is_variant = gs_variant
i_save = 'A'
it_events = lt_eventtab
i_tabname_header = 'HEAD'
i_tabname_item = 'ITEM'
is_keyinfo = ls_key
is_print = gs_print
TABLES
t_outtab_header = gt_doc_head
t_outtab_item = gt_doc_item
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.



ENDFORM.






(Necesito colocar las posiciones en la misma linea de la cabecera
Responder Con Cita