ABAP Example ASSIGN Field Names of Generic Structures VAS(Value Added)

 
 METHOD fill_items_vas.
    DATA:
      lv_posnr TYPE lips-posnr,
      lr_stru  TYPE REF TO cl_abap_structdescr,
      lt_comp  TYPE STANDARD TABLE OF abap_componentdescr.

    FIELD-SYMBOLS:  TYPE STANDARD TABLE,
                              TYPE STANDARD TABLE.

    IF mt_vas IS NOT INITIAL.

      ASSIGN COMPONENT gc_edi_outbound_delivery_item OF STRUCTURE ct_delivery TO .

      IF sy-subrc IS INITIAL.

        LOOP AT  ASSIGNING FIELD-SYMBOL() .
          ASSIGN COMPONENT gc_delivery_document_item OF STRUCTURE  TO FIELD-SYMBOL().
          IF sy-subrc = 0.
            lv_posnr = .

            ASSIGN COMPONENT gc_vas OF STRUCTURE  TO .
            IF sy-subrc = 0.

              LOOP AT mt_vas ASSIGNING FIELD-SYMBOL() WHERE posnr = lv_posnr. "#EC CI_NESTED
                APPEND INITIAL LINE TO  ASSIGNING FIELD-SYMBOL().

                lr_stru ?= cl_abap_typedescr=>describe_by_data(  ).
                lt_comp = lr_stru->get_components( ).

                LOOP AT lt_comp ASSIGNING FIELD-SYMBOL().
                  ASSIGN COMPONENT -name OF STRUCTURE   TO FIELD-SYMBOL().
                  IF sy-subrc = 0.
                    ASSIGN COMPONENT -name OF STRUCTURE   TO FIELD-SYMBOL().
                    IF sy-subrc = 0.
                      IF  IS NOT INITIAL.
                         = .
                      ENDIF.
                    ENDIF.
                  ENDIF.
                ENDLOOP.
              ENDLOOP.
            ENDIF.
          ENDIF.

        ENDLOOP.

        CLEAR: mt_vas.
      ENDIF.
    ENDIF.
  ENDMETHOD.

Добавить комментарий