REPORT ZTEST.
DATA :LS_HEADER TYPE BAPIMATHEAD .
DATA :LS_MARC TYPE BAPI_MARC ,
LS_MARCX TYPE BAPI_MARCX .
DATA :LS_RETURN TYPE BAPIRET2 .
BREAK-POINT .
LS_HEADER -MATERIAL = '303012001' .
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = LS_HEADER -MATERIAL
IMPORTING
OUTPUT = LS_HEADER -MATERIAL .
LS_HEADER -IND_SECTOR = 'P' . "行业领域
LS_HEADER -QUALITY_VIEW = 'X' . "质量管理视图
LS_HEADER -MATL_TYPE = 'Z003' . "物料类型
LS_MARC -PLANT = '2000' .
LS_MARCX -PLANT = '2000' .
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = LS_HEADER
* CLIENTDATA =
* CLIENTDATAX =
PLANTDATA = LS_MARC
PLANTDATAX = LS_MARCX
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA =
* STORAGELOCATIONDATAX =
* VALUATIONDATA =
* VALUATIONDATAX =
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA =
* SALESDATAX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
* CLIENTDATACWM =
* CLIENTDATACWMX =
* VALUATIONDATACWM =
* VALUATIONDATACWMX =
IMPORTING
RETURN = LS_RETURN
* TABLES
* MATERIALDESCRIPTION =
* UNITSOFMEASURE =
* UNITSOFMEASUREX =
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS =
* RETURNMESSAGES =
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
* UNITSOFMEASURECWM =
* UNITSOFMEASURECWMX =
* NFMCHARGEWEIGHTS =
* NFMCHARGEWEIGHTSX =
* NFMSTRUCTURALWEIGHTS =
* NFMSTRUCTURALWEIGHTSX =
.
IF LS_RETURN - TYPE = 'S' .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X' .
ELSE .
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .
ENDIF .
DATA :LT_INSPECTIONCTRL TYPE TABLE OF BAPI1001004_QMAT ,
LS_INSPECTIONCTRL TYPE BAPI1001004_QMAT ,
LT_RETURN TYPE TABLE OF BAPIRET2 .
DATA :LS_TQ34 TYPE TQ34 .
BREAK-POINT .
LS_INSPECTIONCTRL -MATERIAL = '303012001' .
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = LS_INSPECTIONCTRL -MATERIAL
IMPORTING
OUTPUT = LS_INSPECTIONCTRL -MATERIAL
* EXCEPTIONS
* LENGTH_ERROR = 1
* OTHERS = 2
.
IF SY -SUBRC <> 0 .
* Implement suitable error handling here
ENDIF .
LS_INSPECTIONCTRL -PLANT = '2000' .
LS_INSPECTIONCTRL -INSPTYPE = 'Z02' . "检验类型
LS_INSPECTIONCTRL -IND_INSPTYPE_MAT_ACTIVE = 'X' .
SELECT SINGLE *
INTO LS_TQ34
FROM TQ34
WHERE ART = LS_INSPECTIONCTRL -INSPTYPE .
LS_INSPECTIONCTRL -IND_INSP_WITH_TSK_LIST = LS_TQ34 -PPL .
LS_INSPECTIONCTRL -IND_SPEC_MATSPEC = LS_TQ34 -SPEZUEBER .
LS_INSPECTIONCTRL -IND_SPEC_CONFIG = LS_TQ34 -CONF .
LS_INSPECTIONCTRL -IND_SPEC_BATCH = LS_TQ34 -TLS .
LS_INSPECTIONCTRL -IND_AUTO_ASSIGN = LS_TQ34 -APP .
LS_INSPECTIONCTRL -IND_INSP_BY_CHARAC = LS_TQ34 -MER .
LS_INSPECTIONCTRL -IND_POST_TO_INSP_STOCK = LS_TQ34 -INSMK .
LS_INSPECTIONCTRL -IND_AUTOMATIC_UD = LS_TQ34 -AVE .
LS_INSPECTIONCTRL -SAMPLING_PROCEDURE = LS_TQ34 -STICHPRVER .
LS_INSPECTIONCTRL -DYN_MODIF_RULE = LS_TQ34 -DYNREGEL .
LS_INSPECTIONCTRL -INSP_PERCENTAGE = LS_TQ34 -SPROZ .
LS_INSPECTIONCTRL -IND_100_PERCENT_INSPECTION = LS_TQ34 -HPZ .
LS_INSPECTIONCTRL -IND_SKIPS_ALLOWED = LS_TQ34 -DYN .
LS_INSPECTIONCTRL -IND_MANUAL_SAMPLE = LS_TQ34 -MPB .
LS_INSPECTIONCTRL -IND_MANUAL_SAMPLE_CALC = LS_TQ34 -MST .
LS_INSPECTIONCTRL -IND_SINGLE_UNITS_POSSIBLE = LS_TQ34 -EIN .
LS_INSPECTIONCTRL -AVE_INSP_DURATION = LS_TQ34 -MPDAU .
LS_INSPECTIONCTRL -CONTR_INSP_LOT_CREATE = LS_TQ34 -CHG .
LS_INSPECTIONCTRL -QUAL_SCORE_PROCEDURE = LS_TQ34 -QKZVERF .
LS_INSPECTIONCTRL -ALLOWED_SCRAP_SHARE = LS_TQ34 -QPMAT .
LS_INSPECTIONCTRL -PREFERRED_INSPTYPE = 'X' . "首选的检验类型
BREAK-POINT .
APPEND LS_INSPECTIONCTRL TO LT_INSPECTIONCTRL .
CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
TABLES
RETURN = LT_RETURN
INSPECTIONCTRL = LT_INSPECTIONCTRL .
READ TABLE LT_RETURN TRANSPORTING NO FIELDS WITH KEY TYPE = 'S' .
IF LT_RETURN IS INITIAL .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X' .
ELSE .
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .
ENDIF .