#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 |
#2
|
|||
|
|||
Nombre de los campos de la estructura
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. |
#3
|
|||
|
|||
Muchas gracias, me ha servido!
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|