Ver Mensaje Individual
  #1  
Viejo 19/04/13, 21:08:08
fa.luis fa.luis is offline
Member
 
Fecha de Ingreso: ene 2013
Mensajes: 66
Reutilizar campos de una estructura

si en un programa tienes una estructura por ejemplo con 50 campos, y tu vas agregar otra subrutina que va a necesitar una estructura con 10 campos, esos 10 campos que vas a usar en tu nueva subrutina ya los trae la work area que tiene 50 campos.
Es necesario hacer otra work area con solo 10 campos puedes ocupar esa work area de 50 campos y solo ocupar 10 sin importar dejar los otros 40 vacios?

En resumen:
Yo tengo la siguiente estructura:
DATA: BEGIN OF WA_LEIDOS,
KTOKD LIKE RF02D-KTOKD,
ANRED LIKE kna1-ANRED,
KUNNR LIKE RF02D-KUNNR,
BUKRS LIKE RF02D-BUKRS,
VKORG LIKE RF02D-VKORG,
VTWEG LIKE RF02D-VTWEG,
SPART LIKE RF02D-SPART,
NAME1 LIKE ADDR1_DATA-NAME1,
SORTL LIKE KNA1-SORTL,
NAME2 LIKE KNA1-NAME2,
SORT1 LIKE ADDR1_DATA-SORT1,
STREET LIKE ADDR1_DATA-STREET,
PFACH LIKE KNA1-PFACH,
CITY2 LIKE ADDR1_DATA-CITY2,
POST_CODE1 LIKE ADDR1_DATA-POST_CODE1,
CITY1 LIKE ADDR1_DATA-CITY1,
COUNTRY LIKE ADDR1_DATA-COUNTRY,
REGION LIKE ADDR1_DATA-REGION,
LANGU LIKE ADDR1_DATA-LANGU,
TELF1 LIKE KNA1-TELF1,
TELFX LIKE KNA1-TELFX,
TELBX LIKE KNA1-TELBX,
VBUND LIKE KNA1-VBUND,
BAHNS LIKE KNA1-BAHNS,
BAHNE LIKE KNA1-BAHNE,
STCD1 LIKE KNA1-STCD1,
LZONE LIKE KNA1-LZONE,
RPMKR LIKE KNA1-RPMKR,
EKONT LIKE KNA1-EKONT,
FDGRV LIKE KNB1-FDGRV,
ZTERM LIKE KNB1-ZTERM,
KTGRD LIKE KNVV-KTGRD,
XZVER LIKE KNB1-XZVER,
BZIRK LIKE KNVV-BZIRK,
VKBUR LIKE KNVV-VKBUR,
VKGRP LIKE KNVV-VKGRP,
KDGRP LIKE KNVV-KDGRP,
WAERS LIKE KNVV-WAERS,
KONDA LIKE KNVV-KONDA,
KALKS LIKE KNVV-KALKS,
VERSG LIKE KNVV-VERSG,
AWAHR LIKE KNVV-AWAHR,
VSBED LIKE KNVV-VSBED,
LPRIO LIKE KNVV-LPRIO,
VWERK LIKE KNVV-VWERK,
UNTTO(4) TYPE C," LIKE KNVV-UNTTO,
UEBTO(4) TYPE C," LIKE KNVV-UEBTO,
ANTLF, "LIKE KNVV-ANTLF,
INCO1 LIKE KNVV-INCO1,
INCO2 LIKE KNVV-INCO2,
KZAZU LIKE KNVV-KZAZU,
TAXKD LIKE KNVI-TAXKD,
TAXKD2 LIKE KNVI-TAXKD,
KTONR LIKE RF02D-KTONR,
CONTACTO LIKE KNVK-NAME1,
BANKS LIKE KNBK-BANKS,
BANKL LIKE KNBK-BANKL,
BANKN LIKE KNBK-BANKN,
BVTYP LIKE KNBK-BVTYP,
BKREF LIKE KNBK-BKREF,
* campos extra para la carga de deudores
ZWELS LIKE KNB1-ZWELS,
ZUAWA LIKE KNB1-ZUAWA,
END OF WA_LEIDOS.

Y supongamos que mi nueva subrutina necesita una estructura con los mismos campos pero ahora no ocupare todos, solo ocupare unos cuantos, deberia de crear otra estructura como la siguiente:
DATA: BEGIN OF WA_LEIDOS2,
KTOKD LIKE RF02D-KTOKD,
ANRED LIKE kna1-ANRED,
KUNNR LIKE RF02D-KUNNR,
BUKRS LIKE RF02D-BUKRS,
VKORG LIKE RF02D-VKORG,
VTWEG LIKE RF02D-VTWEG,
SPART LIKE RF02D-SPART,
END OF WA_LEIDOS2.


O puedo seguir utilizando la misma estructura que defini primero, y solo ocupar los campos que me interesan? Si si puedo utilizarla, al momento de darle un LOOP o pasar los datos a una tabla interna no tendre errores?
Saludos.
Responder Con Cita