2012 Nov 16 11:25 AM
Hi Experts,
How can I insert some values of internal table (this intertable has 8 fileds) to a runtime internal table(it has 6 fields)?
For example:
TYPES: BEGIN OF ty_final,
banfn TYPE eban-banfn, "Purchase Requisition Number
bnfpo TYPE eban-bnfpo, "Item Number of Purchase Requisition
bsart TYPE eban-bsart, "Purchasing Document Type
matnr TYPE eban-matnr, "Material Number
menge TYPE eban-menge, "Purchase Requisition Quantity
badat TYPE eban-badat, "Requisition (Request) Date
division TYPE eban-werks, "Divisional Plant
dlabst TYPE mard-labst, "Divisional Plant Stock
region TYPE zmmprt_plant-region, "Regional Plant
rlabst TYPE mard-labst, "Regional Plant Stock
END OF ty_final.
data: gt_final TYPE STANDARD TABLE OF ty_final,
gt_ditab TYPE REF TO data,
gwa_ditab type ref to data.
FIELD-SYMBOLS: <gt_ditab> TYPE ANY TABLE,
<gs_ditab> TYPE ANY.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
* i_style_table =
it_fieldcatalog = gt_fieldcat
* i_length_in_byte =
IMPORTING
ep_table = gt_ditab
* e_style_fname =
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2
.
IF sy-subrc <> 0.
ELSE.
** Assign the dynamic table reference to a field-symbol
ASSIGN gt_ditab->* TO <gt_ditab>.
CREATE DATA gwa_ditab_line LIKE LINE OF <gt_ditab>.
ASSIGN gwa_ditab_line->* TO <gs_ditab>.
ENDIF.
LOOP AT gt_final ASSIGNING <gs_final>.
* Now here based on the values of gt_final I want to populate runtime internal table gt_ditab
ENDLOOP.
or is there any other way to do it?
Please Suggest.
Thanks in advance,
Suman
2012 Nov 16 11:38 AM
Hi, you know the fields that are there before runtime.. At runtime you got new fields..
Use Case endcase there.. and in When Others part..
Assign the Field to the new dynamic table. This will help I hope..
2012 Nov 16 11:55 AM
Hi Venkat,
Please see this code,
DO gv_var2 TIMES.
lv_seltext = 'Stock'.
lv_labst = 'LABST'.
lv_no = lv_no + 1.
lv_col = lv_col + 1.
CONCATENATE lv_seltext lv_no INTO lv_seltext.
CONCATENATE lv_labst lv_no INTO lv_labst.
gwa_fieldcat-col_pos = lv_col.
gwa_fieldcat-seltext = lv_seltext.
gwa_fieldcat-fieldname = lv_labst.
gwa_fieldcat-ref_field = 'LABST'.
gwa_fieldcat-ref_table = 'MARD'.
APPEND gwa_fieldcat TO gt_fieldcat.
CLEAR gwa_fieldcat.
CLEAR lv_seltext.
CLEAR lv_labst.
2012 Nov 16 11:51 AM
Please read sap help on "ASSIGN COMPONENT" or search for it in SCN