|
#1
|
|||
|
|||
Dudas con Field Symbols
Tengo una duda con respecto a los field symbols:
Yo tengo una tabla interna y cuando hago un read table, lo asigno a un FS. READ TABLE <tabla> ASSIGNING <wa>. Luego, chequeo que la asignacion se hizo de manera correcta controlando el SY-SUBRC. Ahora, es redundante poner el AND <wa> IS ASSIGNED? Porque veo que mucha gente no lo usa y no mucha gente si. Y no se realmente, en que caso podria devolver SY-SUBRC = 0 y que el FS no este asignado... |
#2
|
||||
|
||||
Mira ambos cumplen una función similar (pero se diferencian en algo) ambos validan si se asigno el valor al fiel-symbol pero la diferencia es la siguiente: 1) IS ASSIGNED: Este se usa para validar si se asigno un valor a un <fs> "sin estructura" (TYPE ANY, TYPE TABLE ANY,etc) es decir no se sabe que estructura tiene antes de asignarle el valor al <fs> Ejm: FIELD-SYMBOLS <FS>. DATA TEXT(20) TYPE C VALUE 'Texto a Mostrar'. ASSIGN TEXT TO <FS>. IF <FS> IS ASSIGNED. WRITE <FS>. ENDIF. 2) SY-SUBRC: Este se usa para saber si se asigno algo al field symbol y por lo general ya se tiene definida la estructura del field symbol Ejm. FIELD-SYMBOL: <tabla> TYPE pa0001. <wa> TYPE LINE OF pa001. data: v_pernr type persno. READ TABLE <tabla> ASSIGNING <wa>. IF SY-SUBRC EQ 0. Cotinua tu lógica... ENDIF.
__________________
Saludos Cordiales, Alfredo Pastor Avendaño SAP - Consultant HCM |
#3
|
|||
|
|||
Muchas Gracias!
Ahora, sabes de algun caso en el que un READ TABLE ... ASSIGNING ... retorne SY-SUBRC = 0 y el FS no este asignado? |
#4
|
|||
|
|||
No debería. Si el Read Table da sy-subrc = 0. Debería llenar al field-symbol.
|
#5
|
||||
|
||||
Hola en el caso que se de o no, tienes que validar a parte del SY-SUBRC = 0, que el <FS> IS ASSIGNED que este asigando, porque sino te da DUMP
IF SY_SUBRC EQ 0 AND <FS> IS ASSIGNED. ........ ENDIF. Saludos
__________________
Edward Manrique A. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|