Bapisourcecode
Bapisourcecode
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(HEADDATA) LIKE BAPIMATHEAD STRUCTURE BAPIMATHEAD
*" VALUE(CLIENTDATA) LIKE BAPI_MARA STRUCTURE BAPI_MARA OPTIONAL
*" VALUE(CLIENTDATAX) LIKE BAPI_MARAX STRUCTURE BAPI_MARAX
*" OPTIONAL
*" VALUE(PLANTDATA) LIKE BAPI_MARC STRUCTURE BAPI_MARC OPTIONAL
*" VALUE(PLANTDATAX) LIKE BAPI_MARCX STRUCTURE BAPI_MARCX
*" OPTIONAL
*" VALUE(FORECASTPARAMETERS) LIKE BAPI_MPOP STRUCTURE BAPI_MPOP
*" OPTIONAL
*" VALUE(FORECASTPARAMETERSX) LIKE BAPI_MPOPX STRUCTURE
*" BAPI_MPOPX OPTIONAL
*" VALUE(PLANNINGDATA) LIKE BAPI_MPGD STRUCTURE BAPI_MPGD
*" OPTIONAL
*" VALUE(PLANNINGDATAX) LIKE BAPI_MPGDX STRUCTURE BAPI_MPGDX
*" OPTIONAL
*" VALUE(STORAGELOCATIONDATA) LIKE BAPI_MARD STRUCTURE BAPI_MARD
*" OPTIONAL
*" VALUE(STORAGELOCATIONDATAX) LIKE BAPI_MARDX STRUCTURE
*" BAPI_MARDX OPTIONAL
*" VALUE(VALUATIONDATA) LIKE BAPI_MBEW STRUCTURE BAPI_MBEW
*" OPTIONAL
*" VALUE(VALUATIONDATAX) LIKE BAPI_MBEWX STRUCTURE BAPI_MBEWX
*" OPTIONAL
*" VALUE(WAREHOUSENUMBERDATA) LIKE BAPI_MLGN STRUCTURE BAPI_MLGN
*" OPTIONAL
*" VALUE(WAREHOUSENUMBERDATAX) LIKE BAPI_MLGNX STRUCTURE
*" BAPI_MLGNX OPTIONAL
*" VALUE(SALESDATA) LIKE BAPI_MVKE STRUCTURE BAPI_MVKE OPTIONAL
*" VALUE(SALESDATAX) LIKE BAPI_MVKEX STRUCTURE BAPI_MVKEX
*" OPTIONAL
*" VALUE(STORAGETYPEDATA) LIKE BAPI_MLGT STRUCTURE BAPI_MLGT
*" OPTIONAL
*" VALUE(STORAGETYPEDATAX) LIKE BAPI_MLGTX STRUCTURE BAPI_MLGTX
*" OPTIONAL
*" VALUE(FLAG_ONLINE) LIKE BAPIE1GLOBAL_DATA-TESTRUN DEFAULT SPACE
*" VALUE(FLAG_CAD_CALL) LIKE BAPIE1GLOBAL_DATA-TESTRUN DEFAULT
*" SPACE
*" VALUE(NO_DEQUEUE) LIKE BAPIE1GLOBAL_DATA-TESTRUN DEFAULT SPACE
*" VALUE(NO_ROLLBACK_WORK) LIKE BAPIE1GLOBAL_DATA-TESTRUN DEFAULT
*" SPACE
*" VALUE(CLIENTDATACWM) TYPE /CWM/BAPI_MARA OPTIONAL
*" VALUE(CLIENTDATACWMX) TYPE /CWM/BAPI_MARAX OPTIONAL
*" VALUE(VALUATIONDATACWM) TYPE /CWM/BAPI_MBEW OPTIONAL
*" VALUE(VALUATIONDATACWMX) TYPE /CWM/BAPI_MBEWX OPTIONAL
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" TABLES
*" MATERIALDESCRIPTION STRUCTURE BAPI_MAKT OPTIONAL
*" UNITSOFMEASURE STRUCTURE BAPI_MARM OPTIONAL
*" UNITSOFMEASUREX STRUCTURE BAPI_MARMX OPTIONAL
*" INTERNATIONALARTNOS STRUCTURE BAPI_MEAN OPTIONAL
*" MATERIALLONGTEXT STRUCTURE BAPI_MLTX OPTIONAL
*" TAXCLASSIFICATIONS STRUCTURE BAPI_MLAN OPTIONAL
*" RETURNMESSAGES STRUCTURE BAPI_MATRETURN2 OPTIONAL
*" PRTDATA STRUCTURE BAPI_MFHM OPTIONAL
*" PRTDATAX STRUCTURE BAPI_MFHMX OPTIONAL
*" EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL
*" EXTENSIONINX STRUCTURE BAPIPAREXX OPTIONAL
*" UNITSOFMEASURECWM STRUCTURE /CWM/BAPI_MARM OPTIONAL
*" UNITSOFMEASURECWMX STRUCTURE /CWM/BAPI_MARMX OPTIONAL
*" SEGMRPGENERALDATA STRUCTURE BAPI_SGT_MRP_GN OPTIONAL
*" SEGMRPGENERALDATAX STRUCTURE BAPI_SGT_MRP_GNX OPTIONAL
*" SEGMRPQUANTITYDATA STRUCTURE BAPI_SGT_MRP OPTIONAL
*" SEGMRPQUANTITYDATAX STRUCTURE BAPI_SGT_MRPX OPTIONAL
*" SEGVALUATIONTYPE STRUCTURE BAPI_SGT_MADKA OPTIONAL
*" SEGVALUATIONTYPEX STRUCTURE BAPI_SGT_MADKAX OPTIONAL
*" SEGSALESSTATUS STRUCTURE BAPI_SGT_MVKE OPTIONAL
*" SEGSALESSTATUSX STRUCTURE BAPI_SGT_MVKEX OPTIONAL
*" SEGWEIGHTVOLUME STRUCTURE BAPI_SGT_MARM OPTIONAL
*" SEGWEIGHTVOLUMEX STRUCTURE BAPI_SGT_MARMX OPTIONAL
*"----------------------------------------------------------------------
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
CALL METHOD cl_matnr_chk_mapper=>convert_on_input
EXPORTING
iv_matnr18 = clientdata-pl_ref_mat
iv_matnr18_x = clientdatax-pl_ref_mat
iv_guid = clientdata-pl_ref_mat_guid
iv_guid_x = clientdatax-pl_ref_mat_guid
iv_version = clientdata-pl_ref_mat_version
iv_version_x = clientdatax-pl_ref_mat_version
iv_matnr40 = clientdata-pl_ref_mat_long
iv_matnr40_x = clientdatax-pl_ref_mat_long
iv_matnr_ext = clientdata-pl_ref_mat_external
iv_matnr_ext_x = clientdatax-pl_ref_mat_external
IMPORTING
ev_matnr40 = clientdata-pl_ref_mat_long
ev_matnr40_x = clientdatax-pl_ref_mat_long
EXCEPTIONS
excp_matnr_ne = 1
excp_matnr_invalid_input = 2
OTHERS = 3.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
IF sy-subrc <> 0.
CALL METHOD cl_matnr_chk_mapper=>bapi_get_last_error
IMPORTING
ev_return = return.
append return to returnmessages. "note 2428432
RETURN.
ENDIF.
ENDENHANCEMENT.
*$*$-End:
BAPI_MATERIAL_SAVEDATA_G6----------------------------------------------------------
-$*$*
IF headdata-material_long = space.
CLEAR tmerrdat.
sy-msgid = message_id_m3.
sy-msgty = message_error.
sy-msgno = '262'.
bapi_error = 'X'.
ENDIF.
IF bapi_error IS INITIAL.
* note 602267
IF NOT flag_cad_call IS INITIAL.
call_mode2 = call_mode2_cad.
ELSE.
CLEAR call_mode2.
ENDIF.
CALL FUNCTION 'MATERIAL_MAINTAIN_DARK'
EXPORTING
flag_muss_pruefen = 'X'
sperrmodus = 'E'
max_errors = 0
p_kz_no_warn = 'N'
kz_prf = headdata-inp_fld_check
kz_verw = 'X'
kz_aend = 'X'
kz_dispo = 'X'
* KZ_TEST = ' '
* NO_DATABASE_UPDATE = ' '
call_mode = call_mode_bapi
call_mode2 = call_mode2
* USER = SY-UNAME
* SUPPRESS_ARRAY_READ = ' '
flg_mass = flag_online
iv_change_doc_tcode = '(BAPI)' "note 1050255&1682898
* IMPORTING
* MATNR_LAST =
* NUMBER_ERRORS_TRANSACTION =
TABLES
amara_ueb = tmara_ueb
amakt_ueb = tmakt_ueb
amarc_ueb = tmarc_ueb
amard_ueb = tmard_ueb
amfhm_ueb = tmfhm_ueb
amarm_ueb = tmarm_ueb
amea1_ueb = tmean_ueb
ambew_ueb = tmbew_ueb
asteu_ueb = tsteu_ueb
astmm_ueb = tstmm_ueb
amlgn_ueb = tmlgn_ueb
amlgt_ueb = tmlgt_ueb
ampgd_ueb = tmpgd_ueb
ampop_ueb = tmpop_ueb
* AMVEG_UEB =
* AMVEU_UEB =
amvke_ueb = tmvke_ueb
altx1_ueb = tmltx_ueb
* AMPRW_UEB =
amfieldres = tmfieldres
amerrdat = tmerrdat
EXCEPTIONS
kstatus_empty = 1
tkstatus_empty = 2
t130m_error = 3
internal_error = 4
too_many_errors = 5
update_error = 6
error_message = 8
OTHERS = 7.
ELSE.
CLEAR sy-subrc.
ENDIF.
END-ENHANCEMENT-SECTION.
tmerrdat-tranc = init_tranc.
tmerrdat-matnr = headdata-material_long.
tmerrdat-msgty = message_error.
tmerrdat-msgid = sy-msgid.
tmerrdat-msgno = sy-msgno.
tmerrdat-msgv1 = sy-msgv1.
tmerrdat-msgv2 = sy-msgv2.
tmerrdat-msgv3 = sy-msgv3.
tmerrdat-msgv4 = sy-msgv4.
APPEND tmerrdat.
ENDIF.
APPEND returnmessages.
IF tmerrdat-msgty CA 'EA'.
MOVE returnmessages TO return.
ENDIF.
ENDLOOP.
IF sy-subrc = 0.
IF tmerrdat-msgty CA 'EA'.
tmerrdat-msgty = message_error.
ELSE.
CLEAR tmerrdat.
tmerrdat-msgty = message_succ.
tmerrdat-msgid = message_id_mm.
tmerrdat-msgno = '356'.
WRITE headdata-material_long TO tmerrdat-msgv1.
IF 1 = 2. "wegen Verwendungsnachweis
MESSAGE e356(mm) WITH headdata-material.
ENDIF.
ENDIF.
ELSE.
CLEAR tmerrdat.
tmerrdat-msgty = message_succ.
tmerrdat-msgid = message_id_mm.
tmerrdat-msgno = '356'.
WRITE headdata-material_long TO tmerrdat-msgv1.
ENDIF.
IF return IS INITIAL.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = tmerrdat-msgty
cl = tmerrdat-msgid
number = tmerrdat-msgno
par1 = tmerrdat-msgv1
par2 = tmerrdat-msgv2
par3 = tmerrdat-msgv3
par4 = tmerrdat-msgv4
* LOG_NO = ' '
* LOG_MSG_NO = ' '
* PARAMETER = ' '
* ROW = 0
* FIELD = ' '
IMPORTING
return = return
EXCEPTIONS
OTHERS = 1.
ENDIF.