Tabla sin rellenar

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sapbcvl
    Junior Member
    • mar
    • 9

    #1

    Tabla sin rellenar

    Hola, estoy intentando recuperar informacion y almacenarla en una workarea, pero de los 17 campos que hay solo se guarda 1 (cstatut). El programa no falla, pero en el debug no se almacenan el resto de valores.

    Adjunto codigo:

    TYPES: BEGIN OF ty_sortie,
    zelcstatutboncii TYPE zpm_boncii-cstatut,
    zelnumeroe TYPE zpm_signalisatio-nenrrec,
    zdate_fin_tran TYPE zpm_signalisatio-dattransai,
    zheure_fin_tran TYPE zpm_signalisatio-dattransai,
    zdate_arrive TYPE zpm_intervent-datdint,
    zheure_arrive TYPE zpm_intervent-datdint,
    zheure_fin_int TYPE zpm_intervent-datfiint,
    zellibmotifsig TYPE zpm_signalisatio-cmotifsig,
    zelmotifusg TYPE zpm_signalisatio-motifusg,
    zellnatincid TYPE zpm_incident-cnatincid,
    zellnatconsta TYPE zpm_intervent-cnatconsta,
    facteurcause TYPE zpm_incident-cnatincid,
    zellnatdepan TYPE zpm_incident-cnatdepan,
    zelactrenf TYPE zpm_incident-actrenf,
    zellsuitinc TYPE zpm_incident-csuitinc,
    zelresumeint TYPE zpm_intervent-resumeint,
    zerror TYPE char200,
    END OF ty_sortie.

    DATA: wa_sortie TYPE ty_sortie.

    SELECT SINGLE idsig INTO lv_idsig
    FROM zpm_signalisatio
    WHERE numpdl = i_pce_number
    %_HINTS ORACLE 'INDEX("ZPM")'.


    SELECT cstatut INTO wa_sortie
    FROM zpm_boncii
    WHERE idsig = lv_idsig.
    ENDSELECT.

    SELECT cmotifsig nenrrec dattransai motifusg INTO CORRESPONDING FIELDS OF wa_sortie
    FROM zpm_signalisatio
    WHERE idsig = lv_idsig.
    ENDSELECT.

    SELECT datdint datfiint cnatconsta resumeint INTO CORRESPONDING FIELDS OF wa_sortie
    FROM zpm_intervent
    WHERE idsig = lv_idsig.
    ENDSELECT.

    SELECT cnatincid cnatincid cnatdepan actrenf csuitinc INTO CORRESPONDING FIELDS OF wa_sortie
    FROM zpm_incident
    WHERE idsig = lv_idsig.
    ENDSELECT.

    Gracias
  • sapbcvl
    Junior Member
    • mar
    • 9

    #2
    Originalmente publicado por damianrvgq
    Hola sapbcvl,

    Al hacer las Select con INTO CORRESPONDING FIELDS OF...los nombres de los campos de las tablas y los de la estructura deben coincidir. Para tu ejemplo:

    TYPES: BEGIN OF ty_sortie,
    cstatut TYPE zpm_boncii-cstatut,
    nenrrec TYPE zpm_signalisatio-nenrrec,
    dattransai TYPE zpm_signalisatio-dattransai,
    dattransai TYPE zpm_signalisatio-dattransai, "No puede haber campos que quieras recuperar de diferentes tablas que tengan el mismo nombre
    datdint TYPE zpm_intervent-datdint,
    datdint TYPE zpm_intervent-datdint,
    datfiint TYPE zpm_intervent-datfiint,
    cmotifsig TYPE zpm_signalisatio-cmotifsig,
    motifusg TYPE zpm_signalisatio-motifusg,
    cnatincid TYPE zpm_incident-cnatincid,
    cnatconsta TYPE zpm_intervent-cnatconsta,
    cnatincid TYPE zpm_incident-cnatincid,
    cnatdepan TYPE zpm_incident-cnatdepan,
    actrenf TYPE zpm_incident-actrenf,
    csuitinc TYPE zpm_incident-csuitinc,
    resumeint TYPE zpm_intervent-resumeint,
    zerror TYPE char200,
    END OF ty_sortie.

    Una BestPractice sería sustituir los SELECT..ENDSELECT por SELECT SINGLE, no se si las has puesto así por algún requerimiento en concreto.

    Un saludo.
    Muchas gracias, me ha servido!

    Comentario

    Trabajando...