MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 19/02/08, 09:16:05
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36
Question Report ALV NO MUESTRA LA DATA_2

viene de Report ALV NO MUESTRA LA DATA
*----------------------------------------------------------------------*
***INCLUDE ZPS_LIST_ENTREGA_FOR .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form datos_proyecto
*&---------------------------------------------------------------------*
FORM datos_proyecto .

project_definition = p_proy.
with_activities = 'X'.
with_milestones = 'X'.

ENDFORM. " datos_proyecto
*&---------------------------------------------------------------------*
*& Form obtener_proyecto
*&---------------------------------------------------------------------*
FORM obtener_proyecto .

CALL FUNCTION 'BAPI_PROJECT_GETINFO'
EXPORTING
project_definition = project_definition
with_activities = with_activities
with_milestones = with_milestones
with_subtree = with_subtree
IMPORTING
e_project_definition = e_project_definition
return = return
TABLES
i_wbs_element_table = i_wbs_element_table
e_wbs_element_table = e_wbs_element_table
e_wbs_milestone_table = e_wbs_milestone_tabl
e_wbs_hierarchie_table = e_wbs_hierarchie_tab
e_activity_table = e_activity_table
e_message_table = e_message_table.

LOOP AT e_activity_table.
AT NEW network.
CALL FUNCTION 'BAPI_NETWORK_GETDETAIL'
EXPORTING
number = e_activity_table-network
IMPORTING
return = return2
TABLES
e_network = e_network2
e_activity = e_activity2
e_relation = e_relation
e_message_table = e_message_table2
e_activity_element = e_activity_element
e_activity_milestone = e_activity_milestone
e_component = e_component2.

APPEND LINES OF e_activity2 TO e_activity.
APPEND LINES OF e_component2 TO e_component.
APPEND LINES OF e_network2 TO e_network.

ENDAT.
ENDLOOP.

IF NOT s_pep IS INITIAL.
* Los Elementos PEP en SAP tienen dos formatos interno y externos.
* Asaciados cada uno de ellos a dos rutinas de conversión diferentes.
* Hemos tenido que usar las dos para poder filtar las opciones de
* selección.
LOOP AT s_pep.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
EXPORTING
input = s_pep-low
IMPORTING
output = s_pep-low.
MODIFY s_pep.
ENDLOOP.

DELETE e_activity WHERE NOT wbs_element IN s_pep.
DELETE e_network WHERE NOT wbs_element IN s_pep.


LOOP AT s_pep.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
input = s_pep-low
IMPORTING
output = s_pep-low.
MODIFY s_pep.
ENDLOOP.
DELETE e_component WHERE NOT wbs_element IN s_pep.
ENDIF.
IF NOT s_gra IS INITIAL.
DELETE e_activity WHERE NOT network IN s_gra.
DELETE e_component WHERE NOT network IN s_gra.
DELETE e_network WHERE NOT network IN s_gra.
ENDIF.
IF NOT s_ope IS INITIAL.
DELETE e_activity WHERE NOT activity IN s_ope.
DELETE e_component WHERE NOT activity IN s_ope.
ENDIF.
IF NOT s_mat IS INITIAL.
DELETE e_component WHERE NOT material IN s_mat.
ENDIF.
ENDFORM. " obtener_proyecto
*&---------------------------------------------------------------------*
*& Form entregas_proyecto
*&---------------------------------------------------------------------*
FORM entregas_proyecto .

*CALL FUNCTION 'CONVERSION_EXIT_KONPD_INPUT'
* EXPORTING
* input = p_proy
* IMPORTING
* output = p_proy.
*
* SELECT * FROM psli INTO TABLE t_entregas WHERE pspnr = p_proy
* AND vbeln IN s_vbeln.
*
*
*CALL FUNCTION 'CONVERSION_EXIT_KONPD_OUTPUT'
* EXPORTING
* input = p_proy
* IMPORTING
* output = p_proy.

SELECT * FROM lips INTO CORRESPONDING FIELDS OF TABLE t_entregas
WHERE vbeln IN s_vbeln.



ENDFORM. " entregas_proyecto
*&---------------------------------------------------------------------*
*& Form mostrar_datos
*&---------------------------------------------------------------------*
FORM mostrar_datos .
PERFORM elementos.
ENDFORM. " mostrar_datos
*&---------------------------------------------------------------------*
*& Form elementos
*&---------------------------------------------------------------------*
FORM elementos .
LOOP AT e_wbs_element_table.
PERFORM grafos.
ENDLOOP.
ENDFORM. " elementos
*&---------------------------------------------------------------------*
*& Form grafos
*&---------------------------------------------------------------------*
FORM grafos .
LOOP AT e_activity
WHERE wbs_element = e_wbs_element_table-wbs_element.
* Componentes.
PERFORM componentes .
ENDLOOP.
ENDFORM. " grafos
*&---------------------------------------------------------------------*
*& Form componentes
*&---------------------------------------------------------------------*
FORM componentes .

LOOP AT e_component WHERE network = e_activity-network AND
activity = e_activity-activity
AND deletion_flag = ' '.

* PASAMOS LOS DATOS A LA TABLA INTERNA.
t_tabla-wbs_element = e_wbs_element_table-wbs_element.
t_tabla-network = e_activity-network .
t_tabla-activity = e_activity-activity.
t_tabla-description = e_activity-description.
t_tabla-item_number = e_component-item_number .
t_tabla-matl_desc = e_component-matl_desc.
* ETB 19/05/2006. Añadimos el campo orden de SAP.
t_tabla-ordensap = e_component-sort_string.
* Fin ETB 19/05/2006.

* Tala auxliliar.
MOVE-CORRESPONDING t_tabla TO t_tabla2.

* Buscamos las entregas asociadas a ese componente. Pposteriormente
* busacaremos las UMA asociadas a la posición de la entrega
* correspondiente al componente que estamos tratando.
PERFORM entrega_componente.

ENDLOOP.


ENDFORM. " componentes
*&---------------------------------------------------------------------*
*& Form entrega_componente
*&---------------------------------------------------------------------*
FORM entrega_componente .

REFRESH t_entregas_comp. CLEAR t_entregas_comp.

CHECK NOT t_entregas[] IS INITIAL.

SELECT vbeln posnr lfimg
INTO (t_entregas_comp-vbeln, t_entregas_comp-posnr,
t_entregas_comp-lfimg)
FROM lips
FOR ALL ENTRIES IN t_entregas WHERE vbeln = t_entregas-vbeln
AND rsnum = e_component(10)
AND rspos = e_component+10(5).
APPEND t_entregas_comp. CLEAR t_entregas_comp.
ENDSELECT.

*para controlar el salto de linea en los componetes con mas de una UMA.
CLEAR contador.

LOOP AT t_entregas_comp.
* Obtenemos las UMA's asociadas a ese componente de entrega.
PERFORM obtener_uma USING t_entregas_comp-vbeln
t_entregas_comp-posnr
t_entregas_comp-lfimg.
ENDLOOP.


ENDFORM. " entrega_componente
*&---------------------------------------------------------------------*
*& Form obtener_uma
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_T_ENTREGAS_COMP_VBELN text
* -->P_T_ENTREGAS_COMP_POSNR text
* -->P_T_ENTREGAS_COMP_LFIMG text
*----------------------------------------------------------------------*
FORM obtener_uma USING vbeln LIKE lips-vbeln
posnr LIKE lips-posnr
lfimg LIKE lips-lfimg.
DATA: num_pos TYPE i. "Número de posiciones de la UMA.
DATA: pos_uma(5) TYPE c.
DATA: vbplk_tab_aux LIKE vbplk_tab OCCURS 0 WITH HEADER LINE.
DATA: num(4) TYPE c.


* REFRESH: vbplk_tab, vbplp_tab, vbpls_tab.
* CLEAR: comwa, vbplk_tab, vbplp_tab, vbpls_tab.
*
** Recuperamos las UMA asociadas a la entrega.
* comwa-vbeln = vbeln.
*
* CALL FUNCTION 'SD_PACKING_PRINT_VIEW'
* EXPORTING
* comwa = comwa
* TABLES
* vbplk_tab = vbplk_tab
* vbplp_tab = vbplp_tab
* vbpls_tab = vbpls_tab.
* Clear: vbplk_tab, vbplp_tab, vbpls_tab.


* Obtenemos la UMA en la que se encuentra el componente que estamos
* tratando.
SELECT * FROM zuma
FOR ALL ENTRIES IN vbplk_tab WHERE exidv2 = vbplk_tab-exidv
* and PEP = e_wbs_element_table-wbs_element
AND grafo = e_component-network
AND operacion = e_component-activity
AND item = e_component-item_number
AND material = e_component-material.

READ TABLE vbplk_tab WITH KEY exidv = zuma-exidv2.
CHECK sy-subrc = 0.

IF contador NE 1.
contador = contador + 1.

* PASAMOS LOS DATOS A LA TABLA.
* PASAMOS LOS DATOS A LA TABLA.
PERFORM descripcion_larga USING e_component-material.

t_tabla-vemng = zuma-cantidad.
t_tabla-ntgew = vbplk_tab-ntgew.
t_tabla-brgew = vbplk_tab-brgew.
t_tabla-laeng = vbplk_tab-laeng.
t_tabla-breit = vbplk_tab-breit.
t_tabla-hoehe = vbplk_tab-hoehe.
t_tabla-tavol = vbplk_tab-tavol.
t_tabla-exidv = zuma-exidv2.
t_tabla-num_bultos = 1.
t_tabla-pos_uma = zuma-nbulto.
t_tabla-num_bultos = 1.
t_tabla-ntgew_sup = vbplk_tab-ntgew.
t_tabla-brdew_sup = vbplk_tab-brgew.
t_tabla-tavol_sup = vbplk_tab-tavol.
* MODIFICACION - ANM - 24/09/2007 - rellenar contenedor
* t_tabla-exidv_sup = vbplk_tab_aux-exidv.
t_tabla-exidv_sup = zuma-exidv.
* FIN MODIFICACION - ANM

* MODIFICACION - VMSM - 31/03/2006 - Asignacion de valores Campos de
* unidades.
t_tabla-meabm = vbplk_tab-meabm. " medida
t_tabla-gewei = vbplk_tab-gewei. " peso
t_tabla-voleh = vbplk_tab-voleh. " volumen
t_tabla-geweit = vbplk_tab-gewei. " peso total
t_tabla-voleht = vbplk_tab-voleh. " volument total
* FIN MODIFICACION - VMSM

APPEND t_tabla. CLEAR t_tabla.

* Tabla auxiliar para agrupar UMA.
READ TABLE t_uma WITH KEY exidv = zuma-exidv2.
IF sy-subrc NE 0.
t_tabla2-num_bultos = 1.
t_tabla2-pos_uma = zuma-nbulto.
t_tabla2-num_bultos = 1.
COLLECT t_tabla2.CLEAR t_tabla2.
ELSE.
* t_tabla2-pos_uma = t_uma-item_number.
t_tabla2-inclu = t_uma-inclu.
COLLECT t_tabla2. CLEAR t_tabla2.
ENDIF.

CONCATENATE zuma-item zuma-nbulto INTO t_uma-inclu
SEPARATED BY space.
t_uma-network = e_activity-network .
t_uma-activity = e_activity-activity.
t_uma-exidv = zuma-exidv2.
t_uma-item_number = zuma-item.
APPEND t_uma. CLEAR t_uma.


ELSE.
* PASAMOS LOS DATOS A LA TABLA.
PERFORM descripcion_larga USING e_component-material.
t_tabla-wbs_element = e_wbs_element_table-wbs_element.
t_tabla-network = e_activity-network .
t_tabla-activity = e_activity-activity.
t_tabla-description = e_activity-description.
t_tabla-item_number = e_component-item_number .
t_tabla-matl_desc = e_component-matl_desc.
t_tabla-ordensap = e_component-sort_string.
t_tabla-vemng = zuma-cantidad.
t_tabla-ntgew = vbplk_tab-ntgew.
t_tabla-brgew = vbplk_tab-brgew.
t_tabla-laeng = vbplk_tab-laeng.
t_tabla-breit = vbplk_tab-breit.
t_tabla-hoehe = vbplk_tab-hoehe.
t_tabla-tavol = vbplk_tab-tavol.
t_tabla-exidv = zuma-exidv2.
t_tabla-num_bultos = 1.
t_tabla-pos_uma = zuma-nbulto.
t_tabla-num_bultos = 1.
t_tabla-ntgew_sup = vbplk_tab-ntgew.
t_tabla-brdew_sup = vbplk_tab-brgew.
t_tabla-tavol_sup = vbplk_tab-tavol.
t_tabla-exidv_sup = vbplk_tab_aux-exidv.

* MODIFICACION - VMSM - 31/03/2006 - Asignacion de valores Campos de
* unidades.
t_tabla-meabm = vbplk_tab-meabm. " medida
t_tabla-gewei = vbplk_tab-gewei. " peso
t_tabla-voleh = vbplk_tab-voleh. " volumen
t_tabla-geweit = vbplk_tab-gewei. " peso total
t_tabla-voleht = vbplk_tab-voleh. " volument total
* FIN MODIFICACION - VMSM

APPEND t_tabla. CLEAR t_tabla.


* Tabla auxiliar.
READ TABLE t_uma WITH KEY exidv = zuma-exidv2.
IF sy-subrc NE 0.
t_tabla2-wbs_element = e_wbs_element_table-wbs_element.
t_tabla2-network = e_activity-network .
t_tabla2-activity = e_activity-activity.
t_tabla2-description = e_activity-description.
t_tabla2-item_number = e_component-item_number .
t_tabla2-matl_desc = e_component-matl_desc.
t_tabla2-ordensap = e_component-sort_string.
t_tabla2-num_bultos = 1.
t_tabla2-pos_uma = zuma-nbulto.
t_tabla2-num_bultos = 1.
COLLECT t_tabla2. CLEAR t_tabla2.
ELSE.
t_tabla2-wbs_element = e_wbs_element_table-wbs_element.
t_tabla2-network = e_activity-network .
t_tabla2-activity = e_activity-activity.
t_tabla2-description = e_activity-description.
t_tabla2-item_number = e_component-item_number .
t_tabla2-matl_desc = e_component-matl_desc.
t_tabla2-ordensap = e_component-sort_string.
t_tabla2-inclu = t_uma-inclu.
* t_tabla2-pos_uma = t_uma-item_number.
COLLECT t_tabla2. CLEAR t_tabla2.
ENDIF.

CONCATENATE zuma-item zuma-nbulto INTO t_uma-inclu
SEPARATED BY space.
t_uma-exidv = zuma-exidv2.
t_uma-network = e_activity-network .
t_uma-activity = e_activity-activity.
t_uma-item_number = zuma-item.
APPEND t_uma. CLEAR t_uma.

ENDIF.


ENDSELECT.






ENDFORM. " obtener_uma
*&---------------------------------------------------------------------*
*& Form print
*&---------------------------------------------------------------------*
FORM print .
ls_print-print = ' '. "PRINT IMMEDIATE
ls_print-no_print_selinfos = 'X'. "NO SELECTION INFO
ls_print-no_coverpage = ' '. "NO COVER PAGE
ls_print-no_new_page = ' '.
ls_print-no_print_listinfos = 'X'. "NO PRINT LIST INFO
ls_print-reserve_lines = 0 .
ENDFORM. " print
*&---------------------------------------------------------------------*
*& Form catalogo
*&---------------------------------------------------------------------*
FORM catalogo .
REFRESH gt_fieldcat.

* Tratamiento del catálogo de campos.
PERFORM tratar_catalogo.

* Clasificación y orden de los campos a mostrar.
PERFORM sort.


ENDFORM. " catalogo
*&---------------------------------------------------------------------*
*& Form tratar_catalogo
*&---------------------------------------------------------------------*
FORM tratar_catalogo .

DATA: fieldcat_ln LIKE LINE OF gt_fieldcat.
DATA: pos TYPE i VALUE 1.
* Plantilla para añadir nuevos campos. Posicionarla entre los campos
* que queramos que aparezca la nueva columna.
* CLEAR fieldcat_ln.
* fieldcat_ln-fieldname = ''.
* fieldcat_ln-tabname = 'T_TABLA'.
* fieldcat_ln-seltext_m = ' '.
* fieldcat_ln-no_convext = ' '.
* fieldcat_ln-no_out = ' '.
* fieldcat_ln-decimals_out = 0.
* FIELDCAT_LN-REF_FIELDNAME = ' '.
* FIELDCAT_LN-REF_TABNAME = ' '.
* fieldcat_ln-col_pos = pos.
* APPEND fieldcat_ln TO gt_fieldcat.
* pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'WBS_ELEMENT'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'PEP'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'NETWORK'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Grafo'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'ACTIVITY'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Operación'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'ITEM_NUMBER'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Número de item'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.


CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'DESCRIPTION'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Descripción '.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'VEMNG'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Cantidad ITEM'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'MATL_DESC'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Descripción'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = 'X'.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

CLEAR fieldcat_ln.
fieldcat_ln-fieldname = 'DESC_LARGA'.
fieldcat_ln-tabname = 'T_TABLA'.
fieldcat_ln-seltext_m = 'Descripción'.
fieldcat_ln-no_convext = ' '.
fieldcat_ln-no_out = ' '.
fieldcat_ln-decimals_out = 0.
fieldcat_ln-ref_fieldname = ' '.
fieldcat_ln-ref_tabname = ' '.
fieldcat_ln-col_pos = pos.
APPEND fieldcat_ln TO gt_fieldcat.
pos = pos + 1.

continua en ALV NO MUESTRA LA DATA_3
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 14:39:35.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web