¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo mover datos de <fs> a primary_tab usando Badi para Success Factor: código de ejemplo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola Expertos,

Estoy usando Badi para Success Factor en el que primary_tab es un parámetro cambiante. Quiero mover los datos correspondientes de <fs> a primary_tab. Ambos son de tipo ANY.

¿Alguien puede ayudarme con un código de ejemplo?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hi, prueba este código


DATA w_tref TYPE REF TO data.

DATA infty_table_type_ref TYPE REF TO cl_abap_tabledescr.

DATA infty_type_ref TYPE REF TO cl_abap_structdescr.

DATA infotype_structure TYPE string.

*

FIELD-SYMBOLS <pnnnn> TYPE any.

FIELD-SYMBOLS <pnnnn_tab> TYPE STANDARD TABLE.

CALL METHOD cl_ecpao_structure_generator=>get_structure_name

EXPORTING

infty = infotype

IMPORTING

structure_name = infotype_structure.

CALL METHOD cl_ecpao_structure_generator=>get_table_type_stru

EXPORTING

structure = infotype_structure

IMPORTING

table_type_ref = infty_table_type_ref

struc_type_ref = infty_type_ref.

CREATE DATA w_tref TYPE HANDLE infty_table_type_ref.

ASSIGN w_tref->* TO <pnnnn_tab>.

<pnnnn_tab> = pnnnn_primary_tab.

LOOP AT <pnnnn_tab> ASSIGNING <pnnnn>.

* <pnnnn>-NIMSS

ENDLOOP.


Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Realiza alguna ASIGNACIÓN ... CASTING por ti mismo o utiliza la clase de utilidad proporcionada por SAP: CL_HR_PNNNN_TYPE_CAST con métodos como PNNNN_TO_PRELP_TAB y PRELP_TO_PNNNN_TAB (o mira su código fuente para aprender algo sobre casting...)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Rika, inténtalo.

FIELD-SYMBOLS: <lfs_tb> TYPE ANY TABLE,
               <lfs_wa> TYPE ANY,
               <lfs_wx> TYPE ANY.

DATA: lo_tb TYPE REF TO data,
GET REFERENCE OF primary_tab INTO lo_tb.
ASSIGN lo_tb->* TO <lfs_tb>.
IF ( <lfs_tb> IS ASSIGNED ).
  CREATE DATA lo_wa LIKE is_data. 
  ASSIGN lo_wa->* TO <lfs_wa>. 
  IF ( <lfs_wa> IS ASSIGNED ).
    <lfs_wa> = is_data
    LOOP AT <lfs_tb> ASSIGNING <lfs_wx>.
      MOVE-CORRESPONDING <lfs_wa> TO <lfs_wx>.
    ENDLOOP.
  ENDIF.
ENDIF.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Rika,

El siguiente ejemplo de /iwbep/if_mgw_conv_srv_runtime~copy_data_to_ref puede ser útil para ti.

        
            FIELD-SYMBOLS: <ls_data> TYPE ANY. 

            CREATE DATA cr_data LIKE is_data. 

            ASSIGN cr_data->* TO <ls_data>. 

            <ls_data> = is_data.
        
    
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?