Zcreate Materials
Zcreate Materials
START-OF-SELECTION.
PERFORM upload_file_to_itab.
PERFORM create_material.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form upload_file_to_itab
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM upload_file_to_itab .
gv_file = p_file.
ELSE.
MESSAGE 'No record in the file' TYPE 'I'.
LEAVE PROGRAM.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form create_material
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM create_material .
CLEAR : gt_material_number[].
gs_itab-material = gt_MATERIAL_NUMBER-material.
ELSE.
gs_itab-msg_type = 'E'.
gs_itab-msg = 'Error while generating internal number'.
CONTINUE.
ENDIF.
CLEAR : gs_headdata.
gs_headdata-material = gs_itab-material.
gs_headdata-ind_sector = gs_itab-ind_sector.
gs_headdata-matl_type = gs_itab-matl_type.
gs_headdata-basic_view = abap_true.
gs_headdata-purchase_view = abap_true.
gs_headdata-storage_view = abap_true.
gs_headdata-account_view = abap_true.
gs_clientdata-matl_group = gs_itab-matl_group.
gs_clientdatax-matl_group = abap_true.
gs_clientdata-base_uom = gs_itab-base_uom.
gs_clientdatax-base_uom = abap_true.
gs_plantdata-plant = gs_itab-plant.
gs_plantdatax-plant = gs_itab-plant.
gs_storagelocationdata-plant = gs_itab-plant.
gs_storagelocationdatax-plant = gs_itab-plant.
gs_storagelocationdata-stge_loc = gs_itab-stge_loc.
gs_storagelocationdatax-stge_loc = gs_itab-stge_loc.
gs_valuationdata-val_area = gs_itab-val_area.
gs_valuationdatax-val_area = gs_itab-val_area.
gs_valuationdata-price_ctrl = gs_itab-price_ctrl.
gs_valuationdatax-price_ctrl = abap_true.
CONDENSE gs_itab-moving_pr.
gs_valuationdata-moving_pr = gs_itab-moving_pr.
gs_valuationdatax-moving_pr = abap_true.
gs_valuationdata-price_unit = gs_itab-price_unit.
gs_valuationdatax-price_unit = abap_true.
gs_valuationdata-val_class = gs_itab-val_class.
gs_valuationdatax-val_class = abap_true.
clear : gt_materialdescription[].
gt_materialdescription-langu = sy-langu.
gt_materialdescription-langu_iso = sy-langu.
gt_materialdescription-matl_desc = gs_itab-matl_desc.
append gt_materialdescription.
"call BAPI
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = gs_headdata
CLIENTDATA = gs_clientdata
CLIENTDATAX = gs_clientdatax
PLANTDATA = gs_plantdata
PLANTDATAX = gs_plantdatax
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
STORAGELOCATIONDATA = gs_storagelocationdata
STORAGELOCATIONDATAX = gs_storagelocationdatax
VALUATIONDATA = gs_valuationdata
VALUATIONDATAX = gs_valuationdatax
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA =
* SALESDATAX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
* CLIENTDATACWM =
* CLIENTDATACWMX =
* VALUATIONDATACWM =
* VALUATIONDATACWMX =
* MATPLSTADATA =
* MATPLSTADATAX =
* MARC_APS_EXTDATA =
* MARC_APS_EXTDATAX =
IMPORTING
RETURN = gs_RETURN
TABLES
MATERIALDESCRIPTION = gt_materialdescription
* UNITSOFMEASURE =
* UNITSOFMEASUREX =
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS =
RETURNMESSAGES = gt_RETURNMESSAGES
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
* UNITSOFMEASURECWM =
* UNITSOFMEASURECWMX =
* SEGMRPGENERALDATA =
* SEGMRPGENERALDATAX =
* SEGMRPQUANTITYDATA =
* SEGMRPQUANTITYDATAX =
* SEGVALUATIONTYPE =
* SEGVALUATIONTYPEX =
* SEGSALESSTATUS =
* SEGSALESSTATUSX =
* SEGWEIGHTVOLUME =
* SEGWEIGHTVOLUMEX =
* DEMAND_PENALTYDATA =
* DEMAND_PENALTYDATAX =
* NFMCHARGEWEIGHTS =
* NFMCHARGEWEIGHTSX =
* NFMSTRUCTURALWEIGHTS =
* NFMSTRUCTURALWEIGHTSX =
.
if gs_RETURN-type = 'S'.
else.
endif.
gs_itab-msg_type = gs_return-TYPE.
gs_itab-msg = gs_return-message.
CLEAR : gs_itab.
ENDLOOP.
cl_demo_output=>display( gt_itab ).
ENDFORM.