*&---------------------------------------------------------------------*
*& Report ZMM01_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMM01_BAPI.
TYPE-POOLS:TRUXS.
* ----- declarations of parameters for bapi call --------------------
* import parametrs
DATA :IT_MATERIAL TYPE BAPI_MARA_GA-MATERIAL,
IT_PLANT TYPE BAPI_MARC_GA-PLANT,
IT_COMP_CODE TYPE TABLE OF BAPI0002_1-COMP_CODE.
*----------------------------------------------------------------------*
* data declaration for file open dialogue
*----------------------------------------------------------------------*
DATA OREF TYPE REF TO CL_GUI_FRONTEND_SERVICES.
DATA V_MAKTX TYPE MAKT-MAKTX.
DATA V_MAKTX1 TYPE STRING.
DATA V_MAKTX2 TYPE CHAR30.
DATA V_PRESS TYPE CHAR30.
DATA V_PRESS1 TYPE CHAR2.
DATA V_FINAL TYPE CHAR2.
DATA RET_INSP TYPE TABLE OF BAPIRET2.
DATA VT_INSPECTIONCTRL TYPE TABLE OF BAPI1001004_QMAT.
DATA WA_VT_INSPECTIONCTRL TYPE BAPI1001004_QMAT.
DATA V_LINES TYPE I.
DATA V_TABIX TYPE I.
*PARAMETERS: MATERIAL LIKE BAPI_MARA_GA-MATERIAL.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS :P_FILE TYPE STRING .
SELECTION-SCREEN : END OF BLOCK B1 .
TYPES: BEGIN OF T_DATATAB,
MATNR TYPE MARA-MATNR,"material
MAKTX TYPE MAKT-MAKTX,"desc
WTPER_MTR TYPE P DECIMALS 3,
STEUC TYPE MARC-STEUC,"control code -- chapter id
VTWEG TYPE MVKE-VTWEG, "distribution channel
SPART TYPE MARA-SPART, "division
MATKL TYPE MARA-MATKL, "Material Group
KONDM TYPE MVKE-KONDM, "Material pricing group
KTGRM TYPE MVKE-KTGRM, "acc assignment
MTART TYPE MARA-MTART,"mat type
WERKS TYPE MARC-WERKS, "plant
MBRSH TYPE MARA-MBRSH,"industry sector
REF TYPE MARA-MATNR,
END OF T_DATATAB.
DATA: IT_DATATAB TYPE STANDARD TABLE OF T_DATATAB WITH HEADER LINE,
WA_DATATAB TYPE T_DATATAB.
DATA V_MATNR TYPE STRING.
DATA WA_MVKE TYPE MVKE.
DATA V_FILENAME TYPE RLGRAP-FILENAME.
DATA: IT_RAW TYPE TRUXS_T_TEXT_DATA.
*----------------------------------------------------------------------*
* data declaration for file open dialogue
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Data Declaration For Classification Bapi
*----------------------------------------------------------------------*
DATA V_OBJECTKEYNEW TYPE BAPI1003_KEY-OBJECT.
DATA V_OBJECTTABLENEW TYPE BAPI1003_KEY-OBJECTTABLE.
DATA V_CLASSNUMNEW TYPE BAPI1003_KEY-CLASSNUM.
DATA V_CLASSTYPENEW TYPE BAPI1003_KEY-CLASSTYPE.
DATA V_STATUS TYPE BAPI1003_KEY-STATUS.
DATA V_STANDARDCLASS TYPE BAPI1003_KEY-STDCLASS.
DATA V_CHANGENUMBER TYPE BAPI1003_KEY-CHANGENUMBER.
DATA V_KEYDATE TYPE BAPI1003_KEY-KEYDATE.
DATA V_NO_DEFAULT_VALUES TYPE BAPI1003_KEY-FLAG.
DATA V_ALLOCVALUESCURR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR.
DATA V_ALLOCVALUESCHAR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR.
DATA V_ALLOCVALUESNUM TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM.
DATA V_CLASS_RETURN TYPE TABLE OF BAPIRET2.
*----------------------------------------------------------------------*
* END-->> Data Declaration For Classification Bapi
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* DECLARATIONS FOR DIALOG BOX
*----------------------------------------------------------------------*
DATA DIALOG_BOX TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER.
DATA GRID TYPE REF TO CL_GUI_ALV_GRID.
*----------------------------------------------------------------------*
* DECLARATIONS FOR DIALOG BOX
*----------------------------------------------------------------------*
*export parameters.
DATA :
S_CLIENTDATA TYPE BAPI_MARA_GA,
S_PLANTDATA TYPE BAPI_MARC_GA,
S_FORECASTPARAMETERS TYPE BAPI_MPOP_GA,
S_PLANNINGDATA TYPE BAPI_MPGD_GA,
S_STORAGELOCATIONDATA TYPE BAPI_MARD_GA,
S_VALUATIONDATA TYPE BAPI_MBEW_GA,
S_WAREHOUSENUMBERDATA TYPE BAPI_MLGN_GA,
S_SALESDATA TYPE BAPI_MVKE_GA,
S_STORAGETYPEDATA TYPE BAPI_MLGT_GA,
S_PRTDATA TYPE BAPI_MFHM_GA,
WA_S_PRTDATA TYPE BAPI_MFHM_GA,
S_LIFOVALUATIONDATA TYPE BAPI_MYMS_GA.
* tables declaration
DATA:
S_MATERIALDESCRIPTION TYPE TABLE OF BAPI_MAKT_GA,
S_UNITSOFMEASURE TYPE TABLE OF BAPI_MARM_GA,
WA_S_UNITSOFMEASURE TYPE BAPI_MARM_GA, "Uom Work Area
S_INTERNATIONALARTNOS TYPE TABLE OF BAPI_MEAN_GA,
WA_S_INTERNATIONALARTNOS TYPE BAPI_MEAN_GA,
S_MATERIALLONGTEXT TYPE TABLE OF BAPI_MLTX_GA,
WA_S_MATERIALLONGTEXT TYPE BAPI_MLTX_GA,
S_TAXCLASSIFICATIONS TYPE TABLE OF BAPI_MLAN_GA,
WA_S_TAXCLASSIFICATIONS TYPE BAPI_MLAN_GA,
S_EXTENSIONOUT TYPE TABLE OF BAPIPAREX,
S_RETURN TYPE TABLE OF BAPIRETURN,
S_NFMCHARGEWEIGHTS TYPE TABLE OF /NFM/BAPITVGW,
S_NFMSTRUCTURALWEIGHTS TYPE TABLE OF /NFM/BAPITKGW.
DATA V_MATERIALDESCRIPTION TYPE TABLE OF BAPI_MAKT.
DATA W_MATERIALDESCRIPTION TYPE BAPI_MAKT.
DATA V_UNITSOFMEASURE TYPE TABLE OF BAPI_MARM.
DATA V_UNITSOFMEASUREX TYPE TABLE OF BAPI_MARMX.
DATA WA_V_UNITSOFMEASUREX TYPE BAPI_MARMX.
DATA WA_V_UNITSOFMEASURE TYPE BAPI_MARM.
*DATA BEGIN OF IT_EXCEL occurs 0 .
*DATA MATNR TYPE MARA-MATNR.
*DATA END OF IT_EXCEL.
DATA IT_EXCEL TYPE FILETABLE.
DATA V_RC TYPE I.
DATA V_KG TYPE STRING.
DATA WA_MARD TYPE MARD.
DATA WA_MBEW TYPE MBEW.
* ----- declarations of parameters for bapi call --------------------
*----------------------------------------------------------------------*
*SAVE BAPI DECLARATIONS
*----------------------------------------------------------------------*
DATA: CLIDAINP LIKE BAPI_MARA_GA,
CLIDAOUT LIKE BAPI_MARA,
CLIDAOUTX LIKE BAPI_MARAX,
HEADDATA LIKE BAPIMATHEAD,
RETURN LIKE BAPIRET2,
RETURNMES LIKE BAPI_MATRETURN2 OCCURS 0 WITH HEADER LINE.
DATA V_PLANTDATA TYPE BAPI_MARC.
DATA V_PLANTDATAX TYPE BAPI_MARCX.
DATA V_STORAGELOCATIONDATA TYPE BAPI_MARD.
DATA V_STORAGELOCATIONDATAX TYPE BAPI_MARDX.
DATA V_VALUATIONDATA TYPE BAPI_MBEW.
DATA V_VALUATIONDATAX TYPE BAPI_MBEWX.
DATA V_SALESDATA TYPE BAPI_MVKE.
DATA V_SALESDATAX TYPE BAPI_MVKEX.
DATA V_TAXCLASSIFICATIONS TYPE TABLE OF BAPI_MLAN.
DATA WA_V_TAXCLASSIFICATIONS TYPE BAPI_MLAN.
DATA V_MATERIALLONGTEXT TYPE TABLE OF BAPI_MLTX.
DATA WA_V_MATERIALLONGTEXT TYPE BAPI_MLTX.
DATA V_PRTDATA TYPE TABLE OF BAPI_MFHM.
DATA WA_V_PRTDATA TYPE BAPI_MFHM.
DATA V_PRTDATAX TYPE TABLE OF BAPI_MFHMX.
DATA V_INTERNATIONALARTNOS TYPE TABLE OF BAPI_MEAN.
DATA WA_V_INTERNATIONALARTNOS TYPE BAPI_MEAN.
DATA IT_MSG TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
DATA V_NAME TYPE STRING.
DATA S_MATNR TYPE MARA-MATNR.
*----------------------------------------------------------------------*
*SAVE BAPI DECLARATIONS
*----------------------------------------------------------------------*
START-OF-SELECTION.
MOVE P_FILE TO V_FILENAME.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW " WORK TABLE
I_FILENAME = V_FILENAME
TABLES
I_TAB_CONVERTED_DATA = IT_DATATAB[] "ACTUAL DATA
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*----------------------------------------------------------------------*
*fetching ref material
*----------------------------------------------------------------------*
LOOP AT IT_DATATAB.
*----------------------------------------------------------------------*
* Use Conversion Exit To Assign Leading Zeros (Matnr -->> 18 Digits)
*----------------------------------------------------------------------*
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = IT_DATATAB-MATNR
IMPORTING
OUTPUT = IT_DATATAB-MATNR
EXCEPTIONS
LENGTH_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
MODIFY IT_DATATAB INDEX SY-TABIX TRANSPORTING MATNR.
*----------------------------------------------------------------------*
* Use Conversion Exit To Assign Leading Zeros (Matnr -->> 18 Digits)
*----------------------------------------------------------------------*
CONCATENATE IT_DATATAB-MATNR(11) '%'
INTO V_MATNR.
CONDENSE V_MATNR.
SELECT SINGLE MATNR
FROM MARA INTO IT_DATATAB-REF
WHERE MATNR LIKE V_MATNR.
MODIFY IT_DATATAB INDEX SY-TABIX.
ENDLOOP.
*----------------------------------------------------------------------*
*fetching ref material
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* code to derive material desc
*----------------------------------------------------------------------*
LOOP AT IT_DATATAB.
CLEAR V_KG.
CLEAR V_MAKTX.
CLEAR :V_MAKTX1 ,V_MAKTX2,V_PRESS,V_FINAL,V_NAME.
MOVE IT_DATATAB-WTPER_MTR TO V_KG.
CONDENSE V_KG.
IF IT_DATATAB-MATNR+8(3) = 'M01'.
V_NAME = 'MF'.
CONDENSE V_NAME.
ELSEIF IT_DATATAB-MATNR+8(3) = 'E14'.
V_NAME = 'E74720'.
CONDENSE V_NAME.
ENDIF.
* --- selecting material ref desc ----------------------
SELECT SINGLE MAKTX FROM MAKT INTO V_MAKTX
WHERE MATNR EQ IT_DATATAB-REF.
SPLIT V_MAKTX AT '/' INTO V_MAKTX1 V_MAKTX2 .
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
STRING = V_MAKTX2
LANG = 'E'
IMPORTING
RSTRING = V_PRESS
EXCEPTIONS
TOO_SMALL = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
V_PRESS1 = V_PRESS(2).
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
STRING = V_PRESS1
LANG = 'E'
IMPORTING
RSTRING = V_FINAL
EXCEPTIONS
TOO_SMALL = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CONCATENATE IT_DATATAB-MATNR(5) '-' IT_DATATAB-MATNR+5(3) '-'
V_NAME '-' IT_DATATAB-MATNR+11(4) '-'
V_KG 'KG/M' IT_DATATAB-MATNR+14(3) V_FINAL
INTO IT_DATATAB-MAKTX.
TRANSLATE :IT_DATATAB-MTART TO UPPER CASE,
IT_DATATAB-MBRSH TO UPPER CASE.
* SELECT SINGLE MATNR
* FROM MARA INTO IT_DATATAB-REF
* WHERE MATNR LIKE IT_DATATAB-MATNR(11).
MODIFY IT_DATATAB INDEX SY-TABIX TRANSPORTING MAKTX MTART MBRSH.
CLEAR IT_DATATAB .
ENDLOOP.
*----------------------------------------------------------------------*
* code to derive material desc
*----------------------------------------------------------------------*
* MOVE 'RMIN1001' TO IT_MATERIAL.
* MOVE '1000' TO IT_PLANT.
*----------------------------------------------------------------------*
* Code To Delete Already Existing Material From Itab
*----------------------------------------------------------------------*
LOOP AT IT_DATATAB.
CLEAR S_MATNR.
SELECT SINGLE MATNR FROM MARA INTO S_MATNR
WHERE MATNR EQ IT_DATATAB-MATNR.
IF SY-SUBRC IS INITIAL.
DELETE IT_DATATAB INDEX SY-TABIX.
ENDIF.
ENDLOOP.
*----------------------------------------------------------------------*
* Code To Delete Already Existing Material From Itab
*----------------------------------------------------------------------*
CLEAR V_LINES.
DESCRIBE TABLE IT_DATATAB LINES V_LINES.
LOOP AT IT_DATATAB INTO WA_DATATAB.
V_TABIX = ( SY-TABIX * 100 ) / V_LINES.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = V_TABIX
TEXT = 'Processing Data'.
CLEAR :IT_MATERIAL,
IT_PLANT,
WA_MVKE,
WA_MARD,
WA_MBEW.
MOVE :WA_DATATAB-REF TO IT_MATERIAL,
WA_DATATAB-WERKS TO IT_PLANT.
SELECT SINGLE * FROM MVKE INTO WA_MVKE
WHERE MATNR EQ WA_DATATAB-REF.
SELECT SINGLE * FROM MARD INTO WA_MARD
WHERE MATNR EQ WA_DATATAB-REF.
SELECT SINGLE * FROM MBEW INTO WA_MBEW
WHERE MATNR EQ WA_DATATAB-REF.
CALL FUNCTION 'BAPI_MATERIAL_GET_ALL'
EXPORTING
MATERIAL = IT_MATERIAL
* COMP_CODE =
VAL_AREA = WA_MBEW-BWKEY
VAL_TYPE = WA_MBEW-BWTAR
PLANT = WA_MARD-WERKS
STGE_LOC = WA_MARD-LGORT
SALESORG = WA_MVKE-VKORG
DISTR_CHAN = WA_MVKE-VTWEG
* WHSENUMBER =
* STGE_TYPE =
* LIFO_VALUATION_LEVEL =
* KZRFB_ALL =
IMPORTING
CLIENTDATA = S_CLIENTDATA
PLANTDATA = S_PLANTDATA
FORECASTPARAMETERS = S_FORECASTPARAMETERS
PLANNINGDATA = S_PLANNINGDATA
STORAGELOCATIONDATA = S_STORAGELOCATIONDATA
VALUATIONDATA = S_VALUATIONDATA
WAREHOUSENUMBERDATA = S_WAREHOUSENUMBERDATA
SALESDATA = S_SALESDATA
STORAGETYPEDATA = S_STORAGETYPEDATA
PRTDATA = S_PRTDATA
LIFOVALUATIONDATA = S_LIFOVALUATIONDATA
TABLES
* MATERIALDESCRIPTION = S_MATERIALDESCRIPTION
UNITSOFMEASURE = S_UNITSOFMEASURE
INTERNATIONALARTNOS = S_INTERNATIONALARTNOS
MATERIALLONGTEXT = S_MATERIALLONGTEXT
TAXCLASSIFICATIONS = S_TAXCLASSIFICATIONS
EXTENSIONOUT = S_EXTENSIONOUT
RETURN = S_RETURN.
* Header Data: Material and View to maintain
* HEADDATA-MATERIAL = MATERIAL.
* HEADDATA-BASIC_VIEW = 'X'.
PERFORM HEADERDATA_VIEWS.
PERFORM PREPARE_TABLES.
PERFORM PREPARE_MATERIAL_DESC.
PERFORM PERPARE_REST_TABLES.
PERFORM UPDATE_CHKBOX_STRUCTURES.
* Call the BAPI
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = HEADDATA
CLIENTDATA = CLIDAOUT
CLIENTDATAX = CLIDAOUTX
PLANTDATA = V_PLANTDATA
PLANTDATAX = V_PLANTDATAX
STORAGELOCATIONDATA = V_STORAGELOCATIONDATA
STORAGELOCATIONDATAX = V_STORAGELOCATIONDATAX
VALUATIONDATA = V_VALUATIONDATA
VALUATIONDATAX = V_VALUATIONDATAX
SALESDATA = V_SALESDATA
SALESDATAX = V_SALESDATAX
IMPORTING
RETURN = RETURN
TABLES
MATERIALDESCRIPTION = V_MATERIALDESCRIPTION
UNITSOFMEASURE = V_UNITSOFMEASURE
UNITSOFMEASUREX = V_UNITSOFMEASUREX
MATERIALLONGTEXT = V_MATERIALLONGTEXT
INTERNATIONALARTNOS = V_INTERNATIONALARTNOS
TAXCLASSIFICATIONS = V_TAXCLASSIFICATIONS
PRTDATA = V_PRTDATA
* PRTDATAX = V_PRTDATAX
RETURNMESSAGES = RETURNMES.
PERFORM MATERIAL_CLASSIFICATION.
PERFORM INSPECTION.
* Commit to release the locks
IF RETURN-TYPE NE 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
* RETURN-TYPE is 'E' in case of error, else 'S'.
MOVE-CORRESPONDING RETURN TO IT_MSG.
APPEND IT_MSG.
* IF RETURN-TYPE = 'E'.
* LOOP AT RETURNMES.
* WRITE: / RETURNMES-MESSAGE.
* ENDLOOP.
* ELSEIF RETURN-TYPE = 'S'..
* WRITE: / 'Weight Of Material ', MATERIAL, 'Sucessfully Doubled'.
* ENDIF.
CLEAR WA_DATATAB.
PERFORM REFRESH_BAPI_TABLES.
ENDLOOP.
LOOP AT IT_MSG.
WRITE / IT_MSG-MESSAGE.
ENDLOOP.
* PERFORM CALL_DIALOG_BOX.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
* BREAK-POINT.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Open File'
* DEFAULT_EXTENSION =
* DEFAULT_FILENAME =
* FILE_FILTER =
* WITH_ENCODING =
* INITIAL_DIRECTORY =
* MULTISELECTION =
CHANGING
FILE_TABLE = IT_EXCEL
RC = V_RC
* USER_ACTION =
* FILE_ENCODING =
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE IT_EXCEL INTO P_FILE INDEX 1.
*&---------------------------------------------------------------------*
*& Form VIEWS_SELECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM HEADERDATA_VIEWS .
HEADDATA-MATERIAL = WA_DATATAB-MATNR.
HEADDATA-IND_SECTOR = WA_DATATAB-MBRSH.
HEADDATA-MATL_TYPE = WA_DATATAB-MTART.
HEADDATA-BASIC_VIEW = 'X'.
HEADDATA-SALES_VIEW = 'X'.
HEADDATA-PURCHASE_VIEW = 'X'.
HEADDATA-MRP_VIEW = 'X'.
* HEADDATA-FORECAST_VIEW = 'X'.
HEADDATA-WORK_SCHED_VIEW = 'X'.
HEADDATA-PRT_VIEW = 'X'.
HEADDATA-STORAGE_VIEW = 'X'.
* HEADDATA-WAREHOUSE_VIEW = 'X'.
HEADDATA-QUALITY_VIEW = 'X'.
HEADDATA-ACCOUNT_VIEW = 'X'.
HEADDATA-COST_VIEW = 'X'.
HEADDATA-INP_FLD_CHECK = 'W'. "Warning Msg (See Data Element Docu)
HEADDATA-MATERIAL_EXTERNAL = 'X'.
HEADDATA-MATERIAL_GUID = 'X'.
HEADDATA-MATERIAL_VERSION = 'X'.
ENDFORM. " VIEWS_SELECTION
*&---------------------------------------------------------------------*
*& Form PREPARE1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PREPARE_TABLES .
MOVE-CORRESPONDING S_CLIENTDATA TO CLIDAOUT.
* Moving Plant To Bapi Table
MOVE-CORRESPONDING S_PLANTDATA TO V_PLANTDATA.
CLEAR V_PLANTDATA-PLANT.
MOVE WA_DATATAB-WERKS TO V_PLANTDATA-PLANT.
*----------------------------------------------------------------------*
* Moving Storage Loc And Plant To Bapi Table And
* Assigning 2000 Storage Oloc To Mtart -->ZFG
*----------------------------------------------------------------------*
MOVE-CORRESPONDING S_STORAGELOCATIONDATA TO V_STORAGELOCATIONDATA.
CLEAR : V_STORAGELOCATIONDATA-PLANT,V_STORAGELOCATIONDATA-STGE_LOC.
MOVE WA_DATATAB-WERKS TO V_STORAGELOCATIONDATA-PLANT.
IF WA_DATATAB-MTART EQ 'ZFG'.
MOVE '2000' TO V_STORAGELOCATIONDATA-STGE_LOC.
ENDIF.
MOVE-CORRESPONDING S_VALUATIONDATA TO V_VALUATIONDATA.
MOVE-CORRESPONDING S_SALESDATA TO V_SALESDATA.
CLEAR V_SALESDATA-DISTR_CHAN.
MOVE WA_DATATAB-VTWEG TO V_SALESDATA-DISTR_CHAN.
ENDFORM. " PREPARE1
*&---------------------------------------------------------------------*
*& Form PREPARE_MATERIAL_DESC
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PREPARE_MATERIAL_DESC .
W_MATERIALDESCRIPTION-LANGU = 'E'.
W_MATERIALDESCRIPTION-MATL_DESC = WA_DATATAB-MAKTX.
APPEND W_MATERIALDESCRIPTION TO V_MATERIALDESCRIPTION.
CLEAR W_MATERIALDESCRIPTION .
ENDFORM. " PREPARE_MATERIAL_DESC
*&---------------------------------------------------------------------*
*& Form PERPARE_REST_TABLES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PERPARE_REST_TABLES .
* Uom Moved To Bapi Final Table
LOOP AT S_UNITSOFMEASURE INTO WA_S_UNITSOFMEASURE .
MOVE-CORRESPONDING WA_S_UNITSOFMEASURE TO WA_V_UNITSOFMEASURE.
APPEND WA_V_UNITSOFMEASURE TO V_UNITSOFMEASURE.
CLEAR :WA_V_UNITSOFMEASURE, WA_S_UNITSOFMEASURE.
ENDLOOP.
LOOP AT S_MATERIALLONGTEXT INTO WA_S_MATERIALLONGTEXT.
MOVE-CORRESPONDING WA_S_MATERIALLONGTEXT TO WA_V_MATERIALLONGTEXT.
APPEND WA_V_MATERIALLONGTEXT TO V_MATERIALLONGTEXT.
CLEAR : WA_V_MATERIALLONGTEXT , WA_S_MATERIALLONGTEXT.
ENDLOOP.
LOOP AT S_INTERNATIONALARTNOS INTO WA_S_INTERNATIONALARTNOS.
MOVE-CORRESPONDING WA_S_INTERNATIONALARTNOS TO
WA_V_INTERNATIONALARTNOS.
APPEND WA_V_INTERNATIONALARTNOS TO V_INTERNATIONALARTNOS.
CLEAR :WA_S_INTERNATIONALARTNOS ,WA_V_INTERNATIONALARTNOS.
ENDLOOP.
LOOP AT S_TAXCLASSIFICATIONS INTO WA_S_TAXCLASSIFICATIONS.
MOVE-CORRESPONDING WA_S_TAXCLASSIFICATIONS TO WA_V_TAXCLASSIFICATIONS.
APPEND WA_V_TAXCLASSIFICATIONS TO V_TAXCLASSIFICATIONS .
CLEAR : WA_S_TAXCLASSIFICATIONS , WA_V_TAXCLASSIFICATIONS .
ENDLOOP.
MOVE-CORRESPONDING WA_S_PRTDATA TO WA_V_PRTDATA.
IF WA_V_PRTDATA IS NOT INITIAL.
APPEND WA_V_PRTDATA TO V_PRTDATA .
ENDIF.
CLEAR : WA_S_PRTDATA ,WA_V_PRTDATA .
* MOVE-CORRESPONDING S_PRTDATA TO V_PRTDATA.
ENDFORM. " PERPARE_REST_TABLES
*&---------------------------------------------------------------------*
*& Form UPDATE_CHKBOX_STRUCTURES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM UPDATE_CHKBOX_STRUCTURES .
MOVE 'X' TO CLIDAOUTX-DEL_FLAG.
MOVE 'X' TO CLIDAOUTX-MATL_GROUP.
MOVE 'X' TO CLIDAOUTX-OLD_MAT_NO.
MOVE 'X' TO CLIDAOUTX-BASE_UOM.
MOVE 'X' TO CLIDAOUTX-BASE_UOM_ISO.
MOVE 'X' TO CLIDAOUTX-PO_UNIT.
MOVE 'X' TO CLIDAOUTX-PO_UNIT_ISO.
MOVE 'X' TO CLIDAOUTX-DOCUMENT.
MOVE 'X' TO CLIDAOUTX-DOC_TYPE.
MOVE 'X' TO CLIDAOUTX-DOC_VERS.
MOVE 'X' TO CLIDAOUTX-DOC_FORMAT.
MOVE 'X' TO CLIDAOUTX-DOC_CHG_NO.
MOVE 'X' TO CLIDAOUTX-PAGE_NO.
MOVE 'X' TO CLIDAOUTX-NO_SHEETS.
MOVE 'X' TO CLIDAOUTX-PROD_MEMO.
MOVE 'X' TO CLIDAOUTX-PAGEFORMAT.
MOVE 'X' TO CLIDAOUTX-SIZE_DIM.
MOVE 'X' TO CLIDAOUTX-BASIC_MATL.
MOVE 'X' TO CLIDAOUTX-STD_DESCR.
MOVE 'X' TO CLIDAOUTX-DSN_OFFICE.
MOVE 'X' TO CLIDAOUTX-PUR_VALKEY.
MOVE 'X' TO CLIDAOUTX-NET_WEIGHT.
MOVE 'X' TO CLIDAOUTX-UNIT_OF_WT.
MOVE 'X' TO CLIDAOUTX-UNIT_OF_WT_ISO.
MOVE 'X' TO CLIDAOUTX-CONTAINER.
MOVE 'X' TO CLIDAOUTX-STOR_CONDS.
MOVE 'X' TO CLIDAOUTX-TEMP_CONDS.
MOVE 'X' TO CLIDAOUTX-TRANS_GRP.
MOVE 'X' TO CLIDAOUTX-HAZ_MAT_NO.
MOVE 'X' TO CLIDAOUTX-DIVISION.
MOVE 'X' TO CLIDAOUTX-COMPETITOR.
MOVE 'X' TO CLIDAOUTX-QTY_GR_GI.
MOVE 'X' TO CLIDAOUTX-PROC_RULE.
MOVE 'X' TO CLIDAOUTX-SUP_SOURCE.
MOVE 'X' TO CLIDAOUTX-SEASON.
MOVE 'X' TO CLIDAOUTX-LABEL_TYPE.
MOVE 'X' TO CLIDAOUTX-LABEL_FORM.
MOVE 'X' TO CLIDAOUTX-PROD_HIER.
MOVE 'X' TO CLIDAOUTX-CAD_ID.
MOVE 'X' TO CLIDAOUTX-ALLOWED_WT.
MOVE 'X' TO CLIDAOUTX-PACK_WT_UN.
MOVE 'X' TO CLIDAOUTX-PACK_WT_UN_ISO.
MOVE 'X' TO CLIDAOUTX-ALLWD_VOL.
MOVE 'X' TO CLIDAOUTX-PACK_VO_UN.
MOVE 'X' TO CLIDAOUTX-PACK_VO_UN_ISO.
MOVE 'X' TO CLIDAOUTX-WT_TOL_LT.
MOVE 'X' TO CLIDAOUTX-VOL_TOL_LT.
MOVE 'X' TO CLIDAOUTX-VAR_ORD_UN.
MOVE 'X' TO CLIDAOUTX-BATCH_MGMT.
MOVE 'X' TO CLIDAOUTX-SH_MAT_TYP.
MOVE 'X' TO CLIDAOUTX-FILL_LEVEL.
MOVE 'X' TO CLIDAOUTX-STACK_FACT.
MOVE 'X' TO CLIDAOUTX-MAT_GRP_SM.
MOVE 'X' TO CLIDAOUTX-AUTHORITYGROUP.
MOVE 'X' TO CLIDAOUTX-QM_PROCMNT.
MOVE 'X' TO CLIDAOUTX-CATPROFILE.
MOVE 'X' TO CLIDAOUTX-MINREMLIFE.
MOVE 'X' TO CLIDAOUTX-SHELF_LIFE.
MOVE 'X' TO CLIDAOUTX-STOR_PCT.
MOVE 'X' TO CLIDAOUTX-PUR_STATUS.
MOVE 'X' TO CLIDAOUTX-SAL_STATUS.
MOVE 'X' TO CLIDAOUTX-PVALIDFROM.
MOVE 'X' TO CLIDAOUTX-SVALIDFROM.
MOVE 'X' TO CLIDAOUTX-ENVT_RLVT.
MOVE 'X' TO CLIDAOUTX-PROD_ALLOC.
MOVE 'X' TO CLIDAOUTX-QUAL_DIK.
MOVE 'X' TO CLIDAOUTX-MANU_MAT.
MOVE 'X' TO CLIDAOUTX-MFR_NO.
MOVE 'X' TO CLIDAOUTX-INV_MAT_NO.
MOVE 'X' TO CLIDAOUTX-MANUF_PROF.
MOVE 'X' TO CLIDAOUTX-HAZMATPROF.
MOVE 'X' TO CLIDAOUTX-HIGH_VISC.
MOVE 'X' TO CLIDAOUTX-LOOSEORLIQ.
MOVE 'X' TO CLIDAOUTX-CLOSED_BOX.
MOVE 'X' TO CLIDAOUTX-APPD_B_REC.
MOVE 'X' TO CLIDAOUTX-MATCMPLLVL.
MOVE 'X' TO CLIDAOUTX-PAR_EFF.
MOVE 'X' TO CLIDAOUTX-ROUND_UP_RULE_EXPIRATION_DATE.
MOVE 'X' TO CLIDAOUTX-PERIOD_IND_EXPIRATION_DATE.
MOVE 'X' TO CLIDAOUTX-PROD_COMPOSITION_ON_PACKAGING.
MOVE 'X' TO CLIDAOUTX-ITEM_CAT.
MOVE 'X' TO CLIDAOUTX-HAZ_MAT_NO_EXTERNAL.
MOVE 'X' TO CLIDAOUTX-HAZ_MAT_NO_GUID.
MOVE 'X' TO CLIDAOUTX-HAZ_MAT_NO_VERSION.
MOVE 'X' TO CLIDAOUTX-INV_MAT_NO_EXTERNAL.
MOVE 'X' TO CLIDAOUTX-INV_MAT_NO_GUID.
MOVE 'X' TO CLIDAOUTX-INV_MAT_NO_VERSION.
MOVE 'X' TO CLIDAOUTX-MATERIAL_FIXED.
MOVE 'X' TO CLIDAOUTX-CM_RELEVANCE_FLAG.
MOVE 'X' TO CLIDAOUTX-SLED_BBD.
MOVE 'X' TO CLIDAOUTX-GTIN_VARIANT.
MOVE 'X' TO CLIDAOUTX-SERIALIZATION_LEVEL.
MOVE 'X' TO CLIDAOUTX-PL_REF_MAT.
MOVE 'X' TO CLIDAOUTX-EXTMATLGRP.
MOVE 'X' TO CLIDAOUTX-UOMUSAGE.
MOVE 'X' TO CLIDAOUTX-GDS_RELEVANT.
MOVE 'X' TO CLIDAOUTX-PL_REF_MAT_EXTERNAL.
MOVE 'X' TO CLIDAOUTX-PL_REF_MAT_GUID.
MOVE 'X' TO CLIDAOUTX-PL_REF_MAT_VERSION.
MOVE 'X' TO CLIDAOUTX-WE_ORIGIN_ACCEPTANCE.
MOVE 'X' TO CLIDAOUTX-STD_HU_TYPE.
MOVE 'X' TO CLIDAOUTX-PILFERABLE.
MOVE 'X' TO CLIDAOUTX-WHSE_STORAGE_CONDITION.
MOVE 'X' TO CLIDAOUTX-WHSE_MATERIAL_GROUP.
MOVE 'X' TO CLIDAOUTX-HANDLING_INDICATOR.
MOVE 'X' TO CLIDAOUTX-HAZ_MAT_RELEVANT.
MOVE 'X' TO CLIDAOUTX-HU_TYPE.
MOVE 'X' TO CLIDAOUTX-VARIABLE_TARE_WEIGHT.
MOVE 'X' TO CLIDAOUTX-MAX_ALLOWED_CAPACITY.
MOVE 'X' TO CLIDAOUTX-OVERCAPACITY_TOLERANCE.
MOVE 'X' TO CLIDAOUTX-MAX_ALLOWED_LENGTH.
MOVE 'X' TO CLIDAOUTX-MAX_ALLOWED_WIDTH.
MOVE 'X' TO CLIDAOUTX-MAX_ALLOWED_HEIGTH.
MOVE 'X' TO CLIDAOUTX-MAX_DIMENSION_UN.
MOVE 'X' TO CLIDAOUTX-MAX_DIMENSION_UN_ISO.
MOVE 'X' TO CLIDAOUTX-COUNTRYORI.
MOVE 'X' TO CLIDAOUTX-COUNTRYORI_ISO.
MOVE 'X' TO CLIDAOUTX-MATFRGTGRP.
MOVE 'X' TO CLIDAOUTX-QUARANTINE_PERIOD.
MOVE 'X' TO CLIDAOUTX-QUARANTINE_PERIOD_UN.
MOVE 'X' TO CLIDAOUTX-QUARANTINE_PERIOD_UN_ISO.
MOVE 'X' TO CLIDAOUTX-QUALITY_INSP_GRP.
MOVE 'X' TO CLIDAOUTX-SERIAL_NUMBER_PROFILE.
MOVE 'X' TO CLIDAOUTX-EWM_CW_TOLERANCE_GROUP.
MOVE 'X' TO CLIDAOUTX-EWM_CW_INPUT_CONTROL.
MOVE 'X' TO CLIDAOUTX-PCKGING_SMARTFORM.
MOVE 'X' TO CLIDAOUTX-PACOD.
MOVE 'X' TO CLIDAOUTX-DG_PCKGING_STATUS.
* CHECKBOX STRUCTURE FOR PLANT DATA
MOVE WA_DATATAB-WERKS TO V_PLANTDATAX-PLANT.
MOVE 'X' TO V_PLANTDATAX-DEL_FLAG.
MOVE 'X' TO V_PLANTDATAX-ABC_ID.
MOVE 'X' TO V_PLANTDATAX-CRIT_PART.
MOVE 'X' TO V_PLANTDATAX-PUR_GROUP.
MOVE 'X' TO V_PLANTDATAX-ISSUE_UNIT.
MOVE 'X' TO V_PLANTDATAX-ISSUE_UNIT_ISO.
MOVE 'X' TO V_PLANTDATAX-MRPPROFILE.
MOVE 'X' TO V_PLANTDATAX-MRP_TYPE.
MOVE 'X' TO V_PLANTDATAX-MRP_CTRLER.
MOVE 'X' TO V_PLANTDATAX-PLND_DELRY.
MOVE 'X' TO V_PLANTDATAX-GR_PR_TIME.
MOVE 'X' TO V_PLANTDATAX-PERIOD_IND.
MOVE 'X' TO V_PLANTDATAX-ASSY_SCRAP.
MOVE 'X' TO V_PLANTDATAX-LOTSIZEKEY.
MOVE 'X' TO V_PLANTDATAX-PROC_TYPE.
MOVE 'X' TO V_PLANTDATAX-SPPROCTYPE.
MOVE 'X' TO V_PLANTDATAX-REORDER_PT.
MOVE 'X' TO V_PLANTDATAX-SAFETY_STK.
MOVE 'X' TO V_PLANTDATAX-MINLOTSIZE.
MOVE 'X' TO V_PLANTDATAX-MAXLOTSIZE.
MOVE 'X' TO V_PLANTDATAX-FIXED_LOT.
MOVE 'X' TO V_PLANTDATAX-ROUND_VAL.
MOVE 'X' TO V_PLANTDATAX-MAX_STOCK.
MOVE 'X' TO V_PLANTDATAX-ORD_COSTS.
MOVE 'X' TO V_PLANTDATAX-DEP_REQ_ID.
MOVE 'X' TO V_PLANTDATAX-STOR_COSTS.
MOVE 'X' TO V_PLANTDATAX-ALT_BOM_ID.
MOVE 'X' TO V_PLANTDATAX-DISCONTINU.
MOVE 'X' TO V_PLANTDATAX-EFF_O_DAY.
MOVE 'X' TO V_PLANTDATAX-FOLLOW_UP.
MOVE 'X' TO V_PLANTDATAX-GRP_REQMTS.
MOVE 'X' TO V_PLANTDATAX-MIXED_MRP.
MOVE 'X' TO V_PLANTDATAX-SM_KEY.
MOVE 'X' TO V_PLANTDATAX-BACKFLUSH.
MOVE 'X' TO V_PLANTDATAX-PRODUCTION_SCHEDULER.
MOVE 'X' TO V_PLANTDATAX-PROC_TIME.
MOVE 'X' TO V_PLANTDATAX-SETUPTIME.
MOVE 'X' TO V_PLANTDATAX-INTEROP.
MOVE 'X' TO V_PLANTDATAX-BASE_QTY.
MOVE 'X' TO V_PLANTDATAX-INHSEPRODT.
MOVE 'X' TO V_PLANTDATAX-STGEPERIOD.
MOVE 'X' TO V_PLANTDATAX-STGE_PD_UN.
MOVE 'X' TO V_PLANTDATAX-STGE_PD_UN_ISO.
MOVE 'X' TO V_PLANTDATAX-OVER_TOL.
MOVE 'X' TO V_PLANTDATAX-UNLIMITED.
MOVE 'X' TO V_PLANTDATAX-UNDER_TOL.
MOVE 'X' TO V_PLANTDATAX-REPLENTIME.
MOVE 'X' TO V_PLANTDATAX-REPLACE_PT.
MOVE 'X' TO V_PLANTDATAX-IND_POST_TO_INSP_STOCK.
MOVE 'X' TO V_PLANTDATAX-CTRL_KEY.
MOVE 'X' TO V_PLANTDATAX-DOC_REQD.
MOVE 'X' TO V_PLANTDATAX-LOADINGGRP.
MOVE 'X' TO V_PLANTDATAX-BATCH_MGMT.
MOVE 'X' TO V_PLANTDATAX-QUOTAUSAGE.
MOVE 'X' TO V_PLANTDATAX-SERV_LEVEL.
MOVE 'X' TO V_PLANTDATAX-SPLIT_IND.
MOVE 'X' TO V_PLANTDATAX-AVAILCHECK.
MOVE 'X' TO V_PLANTDATAX-FY_VARIANT.
MOVE 'X' TO V_PLANTDATAX-CORR_FACT.
MOVE 'X' TO V_PLANTDATAX-SETUP_TIME.
MOVE 'X' TO V_PLANTDATAX-BASE_QTY_PLAN.
MOVE 'X' TO V_PLANTDATAX-SHIP_PROC_TIME.
MOVE 'X' TO V_PLANTDATAX-SUP_SOURCE.
MOVE 'X' TO V_PLANTDATAX-AUTO_P_ORD.
MOVE 'X' TO V_PLANTDATAX-SOURCELIST.
MOVE 'X' TO V_PLANTDATAX-COMM_CODE.
MOVE 'X' TO V_PLANTDATAX-COUNTRYORI.
MOVE 'X' TO V_PLANTDATAX-COUNTRYORI_ISO.
MOVE 'X' TO V_PLANTDATAX-REGIONORIG.
MOVE 'X' TO V_PLANTDATAX-COMM_CO_UN.
MOVE 'X' TO V_PLANTDATAX-COMM_CO_UN_ISO.
MOVE 'X' TO V_PLANTDATAX-EXPIMPGRP.
MOVE 'X' TO V_PLANTDATAX-PROFIT_CTR.
MOVE 'X' TO V_PLANTDATAX-PPC_PL_CAL.
MOVE 'X' TO V_PLANTDATAX-REP_MANUF.
MOVE 'X' TO V_PLANTDATAX-PL_TI_FNCE.
MOVE 'X' TO V_PLANTDATAX-CONSUMMODE.
MOVE 'X' TO V_PLANTDATAX-BWD_CONS.
MOVE 'X' TO V_PLANTDATAX-FWD_CONS.
MOVE 'X' TO V_PLANTDATAX-ALTERNATIVE_BOM.
MOVE 'X' TO V_PLANTDATAX-BOM_USAGE.
MOVE 'X' TO V_PLANTDATAX-PLANLISTGRP.
MOVE 'X' TO V_PLANTDATAX-PLANLISTCNT.
MOVE 'X' TO V_PLANTDATAX-LOT_SIZE.
MOVE 'X' TO V_PLANTDATAX-SPECPROCTY.
MOVE 'X' TO V_PLANTDATAX-PROD_UNIT.
MOVE 'X' TO V_PLANTDATAX-PROD_UNIT_ISO.
MOVE 'X' TO V_PLANTDATAX-ISS_ST_LOC.
MOVE 'X' TO V_PLANTDATAX-MRP_GROUP.
MOVE 'X' TO V_PLANTDATAX-COMP_SCRAP.
MOVE 'X' TO V_PLANTDATAX-CERT_TYPE.
MOVE 'X' TO V_PLANTDATAX-CYCLE_TIME.
MOVE 'X' TO V_PLANTDATAX-COVPROFILE.
MOVE 'X' TO V_PLANTDATAX-CC_PH_INV.
MOVE 'X' TO V_PLANTDATAX-VARIANCE_KEY.
MOVE 'X' TO V_PLANTDATAX-SERNO_PROF.
MOVE 'X' TO V_PLANTDATAX-REPMANPROF.
MOVE 'X' TO V_PLANTDATAX-NEG_STOCKS.
MOVE 'X' TO V_PLANTDATAX-QM_RGMTS.
MOVE 'X' TO V_PLANTDATAX-PLNG_CYCLE.
MOVE 'X' TO V_PLANTDATAX-ROUND_PROF.
MOVE 'X' TO V_PLANTDATAX-REFMATCONS.
MOVE 'X' TO V_PLANTDATAX-D_TO_REF_M.
MOVE 'X' TO V_PLANTDATAX-MULT_REF_M.
MOVE 'X' TO V_PLANTDATAX-AUTO_RESET.
MOVE 'X' TO V_PLANTDATAX-EX_CERT_ID.
MOVE 'X' TO V_PLANTDATAX-EX_CERT_NO_NEW.
MOVE 'X' TO V_PLANTDATAX-EX_CERT_DT.
MOVE 'X' TO V_PLANTDATAX-MILIT_ID.
MOVE 'X' TO V_PLANTDATAX-INSP_INT.
MOVE 'X' TO V_PLANTDATAX-CO_PRODUCT.
MOVE 'X' TO V_PLANTDATAX-PLAN_STRGP.
MOVE 'X' TO V_PLANTDATAX-SLOC_EXPRC.
MOVE 'X' TO V_PLANTDATAX-BULK_MAT.
MOVE 'X' TO V_PLANTDATAX-CC_FIXED.
MOVE 'X' TO V_PLANTDATAX-DETERM_GRP.
MOVE 'X' TO V_PLANTDATAX-QM_AUTHGRP.
MOVE 'X' TO V_PLANTDATAX-TASK_LIST_TYPE.
MOVE 'X' TO V_PLANTDATAX-PUR_STATUS.
MOVE 'X' TO V_PLANTDATAX-PRODPROF.
MOVE 'X' TO V_PLANTDATAX-SAFTY_T_ID.
MOVE 'X' TO V_PLANTDATAX-SAFETYTIME.
MOVE 'X' TO V_PLANTDATAX-PLORD_CTRL.
MOVE 'X' TO V_PLANTDATAX-BATCHENTRY.
MOVE 'X' TO V_PLANTDATAX-PVALIDFROM.
MOVE 'X' TO V_PLANTDATAX-MATFRGTGRP.
MOVE 'X' TO V_PLANTDATAX-PRODVERSCS.
MOVE 'X' TO V_PLANTDATAX-MAT_CFOP.
MOVE 'X' TO V_PLANTDATAX-EU_LIST_NO.
MOVE 'X' TO V_PLANTDATAX-EU_MAT_GRP.
MOVE 'X' TO V_PLANTDATAX-CAS_NO.
MOVE 'X' TO V_PLANTDATAX-PRODCOM_NO.
MOVE 'X' TO V_PLANTDATAX-CTRL_CODE.
MOVE 'X' TO V_PLANTDATAX-JIT_RELVT.
MOVE 'X' TO V_PLANTDATAX-MAT_GRP_TRANS.
MOVE 'X' TO V_PLANTDATAX-HANDLG_GRP.
MOVE 'X' TO V_PLANTDATAX-SUPPLY_AREA.
MOVE 'X' TO V_PLANTDATAX-FAIR_SHARE_RULE.
MOVE 'X' TO V_PLANTDATAX-PUSH_DISTRIB.
MOVE 'X' TO V_PLANTDATAX-DEPLOY_HORIZ.
MOVE 'X' TO V_PLANTDATAX-MIN_LOT_SIZE.
MOVE 'X' TO V_PLANTDATAX-MAX_LOT_SIZE.
MOVE 'X' TO V_PLANTDATAX-FIX_LOT_SIZE.
MOVE 'X' TO V_PLANTDATAX-LOT_INCREMENT.
MOVE 'X' TO V_PLANTDATAX-PROD_CONV_TYPE.
MOVE 'X' TO V_PLANTDATAX-DISTR_PROF.
MOVE 'X' TO V_PLANTDATAX-PERIOD_PROFILE_SAFETY_TIME.
MOVE 'X' TO V_PLANTDATAX-FXD_PRICE.
MOVE 'X' TO V_PLANTDATAX-AVAIL_CHECK_ALL_PROJ_SEGMENTS.
MOVE 'X' TO V_PLANTDATAX-OVERALLPRF.
MOVE 'X' TO V_PLANTDATAX-MRP_RELEVANCY_DEP_REQUIREMENTS.
MOVE 'X' TO V_PLANTDATAX-MIN_SAFETY_STK.
MOVE 'X' TO V_PLANTDATAX-NO_COSTING.
MOVE 'X' TO V_PLANTDATAX-UNIT_GROUP.
MOVE 'X' TO V_PLANTDATAX-FOLLOW_UP_EXTERNAL.
MOVE 'X' TO V_PLANTDATAX-FOLLOW_UP_GUID.
MOVE 'X' TO V_PLANTDATAX-FOLLOW_UP_VERSION.
MOVE 'X' TO V_PLANTDATAX-REFMATCONS_EXTERNAL.
MOVE 'X' TO V_PLANTDATAX-REFMATCONS_GUID.
MOVE 'X' TO V_PLANTDATAX-REFMATCONS_VERSION.
MOVE 'X' TO V_PLANTDATAX-ROTATION_DATE.
MOVE 'X' TO V_PLANTDATAX-ORIGINAL_BATCH_FLAG.
MOVE 'X' TO V_PLANTDATAX-ORIGINAL_BATCH_REF_MATERIAL.
MOVE 'X' TO V_PLANTDATAX-ORIGINAL_BATCH_REF_MATERIAL_E.
MOVE 'X' TO V_PLANTDATAX-ORIGINAL_BATCH_REF_MATERIAL_V.
MOVE 'X' TO V_PLANTDATAX-ORIGINAL_BATCH_REF_MATERIAL_G.
MOVE 'X' TO V_PLANTDATAX-IUID_RELEVANT.
MOVE 'X' TO V_PLANTDATAX-IUID_TYPE.
MOVE 'X' TO V_PLANTDATAX-UID_IEA.
* Checkbox Structure For Storage Loc Data
MOVE WA_DATATAB-WERKS TO V_STORAGELOCATIONDATAX-PLANT.
IF WA_DATATAB-MTART EQ 'ZFG'.
MOVE '2000' TO V_STORAGELOCATIONDATAX-STGE_LOC.
ENDIF.
MOVE 'X' TO V_STORAGELOCATIONDATAX-DEL_FLAG.
MOVE 'X' TO V_STORAGELOCATIONDATAX-MRP_IND.
MOVE 'X' TO V_STORAGELOCATIONDATAX-SPEC_PROC.
MOVE 'X' TO V_STORAGELOCATIONDATAX-REORDER_PT.
MOVE 'X' TO V_STORAGELOCATIONDATAX-REPL_QTY.
MOVE 'X' TO V_STORAGELOCATIONDATAX-STGE_BIN.
MOVE 'X' TO V_STORAGELOCATIONDATAX-PICKG_AREA.
MOVE 'X' TO V_STORAGELOCATIONDATAX-INV_CORR_FAC.
MOVE S_VALUATIONDATA-VAL_AREA TO V_VALUATIONDATAX-VAL_AREA.
MOVE S_VALUATIONDATA-VAL_TYPE TO V_VALUATIONDATAX-VAL_TYPE.
MOVE 'X' TO V_VALUATIONDATAX-DEL_FLAG.
MOVE 'X' TO V_VALUATIONDATAX-PRICE_CTRL.
MOVE 'X' TO V_VALUATIONDATAX-MOVING_PR.
MOVE 'X' TO V_VALUATIONDATAX-STD_PRICE.
MOVE 'X' TO V_VALUATIONDATAX-PRICE_UNIT.
MOVE 'X' TO V_VALUATIONDATAX-VAL_CLASS.
MOVE 'X' TO V_VALUATIONDATAX-PR_CTRL_PP.
MOVE 'X' TO V_VALUATIONDATAX-MOV_PR_PP.
MOVE 'X' TO V_VALUATIONDATAX-STD_PR_PP.
MOVE 'X' TO V_VALUATIONDATAX-PR_UNIT_PP.
MOVE 'X' TO V_VALUATIONDATAX-VCLASS_PP.
MOVE 'X' TO V_VALUATIONDATAX-PR_CTRL_PY.
MOVE 'X' TO V_VALUATIONDATAX-MOV_PR_PY.
MOVE 'X' TO V_VALUATIONDATAX-STD_PR_PY.
MOVE 'X' TO V_VALUATIONDATAX-VCLASS_PY.
MOVE 'X' TO V_VALUATIONDATAX-PR_UNIT_PY.
MOVE 'X' TO V_VALUATIONDATAX-VAL_CAT.
MOVE 'X' TO V_VALUATIONDATAX-FUTURE_PR.
MOVE 'X' TO V_VALUATIONDATAX-VALID_FROM.
MOVE 'X' TO V_VALUATIONDATAX-TAXPRICE_1.
MOVE 'X' TO V_VALUATIONDATAX-COMMPRICE1.
MOVE 'X' TO V_VALUATIONDATAX-TAXPRICE_3.
MOVE 'X' TO V_VALUATIONDATAX-COMMPRICE3.
MOVE 'X' TO V_VALUATIONDATAX-PLND_PRICE.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRICE1.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRICE2.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRICE3.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRDATE1.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRDATE2.
MOVE 'X' TO V_VALUATIONDATAX-PLNDPRDATE3.
MOVE 'X' TO V_VALUATIONDATAX-LIFO_FIFO.
MOVE 'X' TO V_VALUATIONDATAX-POOLNUMBER.
MOVE 'X' TO V_VALUATIONDATAX-TAXPRICE_2.
MOVE 'X' TO V_VALUATIONDATAX-COMMPRICE2.
MOVE 'X' TO V_VALUATIONDATAX-DEVAL_IND.
MOVE 'X' TO V_VALUATIONDATAX-ORIG_GROUP.
MOVE 'X' TO V_VALUATIONDATAX-OVERHEAD_GRP.
MOVE 'X' TO V_VALUATIONDATAX-QTY_STRUCT.
MOVE 'X' TO V_VALUATIONDATAX-ML_ACTIVE.
MOVE 'X' TO V_VALUATIONDATAX-ML_SETTLE.
MOVE 'X' TO V_VALUATIONDATAX-ORIG_MAT.
MOVE 'X' TO V_VALUATIONDATAX-VM_SO_STK.
MOVE 'X' TO V_VALUATIONDATAX-VM_P_STOCK.
MOVE 'X' TO V_VALUATIONDATAX-MATL_USAGE.
MOVE 'X' TO V_VALUATIONDATAX-MAT_ORIGIN.
MOVE 'X' TO V_VALUATIONDATAX-IN_HOUSE.
MOVE 'X' TO V_VALUATIONDATAX-TAX_CML_UN.
MOVE V_SALESDATA-SALES_ORG TO V_SALESDATAX-SALES_ORG.
MOVE V_SALESDATA-DISTR_CHAN TO V_SALESDATAX-DISTR_CHAN.
MOVE 'X' TO V_SALESDATAX-DEL_FLAG.
MOVE 'X' TO V_SALESDATAX-MATL_STATS.
MOVE 'X' TO V_SALESDATAX-REBATE_GRP.
MOVE 'X' TO V_SALESDATAX-COMM_GROUP.
MOVE 'X' TO V_SALESDATAX-CASH_DISC.
MOVE 'X' TO V_SALESDATAX-SAL_STATUS.
MOVE 'X' TO V_SALESDATAX-VALID_FROM.
MOVE 'X' TO V_SALESDATAX-MIN_ORDER.
MOVE 'X' TO V_SALESDATAX-MIN_DELY.
MOVE 'X' TO V_SALESDATAX-MIN_MTO.
MOVE 'X' TO V_SALESDATAX-DELY_UNIT.
MOVE 'X' TO V_SALESDATAX-DELY_UOM.
MOVE 'X' TO V_SALESDATAX-DELY_UOM_ISO.
MOVE 'X' TO V_SALESDATAX-SALES_UNIT.
MOVE 'X' TO V_SALESDATAX-SALES_UNIT_ISO.
MOVE 'X' TO V_SALESDATAX-ITEM_CAT.
MOVE 'X' TO V_SALESDATAX-DELYG_PLNT.
MOVE 'X' TO V_SALESDATAX-PROD_HIER.
MOVE 'X' TO V_SALESDATAX-PR_REF_MAT.
MOVE 'X' TO V_SALESDATAX-MAT_PR_GRP.
MOVE 'X' TO V_SALESDATAX-ACCT_ASSGT.
MOVE 'X' TO V_SALESDATAX-MATL_GRP_1.
MOVE 'X' TO V_SALESDATAX-MATL_GRP_2.
MOVE 'X' TO V_SALESDATAX-MATL_GRP_3.
MOVE 'X' TO V_SALESDATAX-MATL_GRP_4.
MOVE 'X' TO V_SALESDATAX-MATL_GRP_5.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_1.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_2.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_3.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_4.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_5.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_6.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_7.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_8.
MOVE 'X' TO V_SALESDATAX-PROD_ATT_9.
MOVE 'X' TO V_SALESDATAX-PROD_ATT10.
MOVE 'X' TO V_SALESDATAX-ROUND_PROF.
MOVE 'X' TO V_SALESDATAX-VAR_SALES_UN.
MOVE 'X' TO V_SALESDATAX-UNIT_GROUP.
MOVE 'X' TO V_SALESDATAX-PR_REF_MAT_EXTERNAL.
MOVE 'X' TO V_SALESDATAX-PR_REF_MAT_GUID.
MOVE 'X' TO V_SALESDATAX-PR_REF_MAT_VERSION.
LOOP AT V_UNITSOFMEASURE INTO WA_V_UNITSOFMEASURE.
MOVE WA_V_UNITSOFMEASURE-ALT_UNIT TO WA_V_UNITSOFMEASUREX-ALT_UNIT.
MOVE WA_V_UNITSOFMEASURE-ALT_UNIT_ISO
TO WA_V_UNITSOFMEASUREX-ALT_UNIT_ISO.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-NUMERATOR.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-DENOMINATR.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-EAN_UPC.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-EAN_CAT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-LENGTH.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-WIDTH.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-HEIGHT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-UNIT_DIM.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-UNIT_DIM_ISO.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-VOLUME.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-VOLUMEUNIT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-VOLUMEUNIT_ISO.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-GROSS_WT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-UNIT_OF_WT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-UNIT_OF_WT_ISO.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-SUB_UOM.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-SUB_UOM_ISO.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-GTIN_VARIANT.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-NESTING_FACTOR.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-MAXIMUM_STACKING.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-CAPACITY_USAGE.
MOVE 'X' TO WA_V_UNITSOFMEASUREX-EWM_CW_UOM_TYPE.
APPEND WA_V_UNITSOFMEASUREX TO V_UNITSOFMEASUREX.
CLEAR WA_V_UNITSOFMEASUREX.
ENDLOOP.
ENDFORM. " UPDATE_CHKBOX_STRUCTURES
*&---------------------------------------------------------------------*
*& Form CALL_DIALOG_BOX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CALL_DIALOG_BOX .
IF DIALOG_BOX IS INITIAL.
CREATE OBJECT DIALOG_BOX
EXPORTING
* PARENT =
WIDTH = 30
HEIGHT = 30
* STYLE =
* REPID =
* DYNNR =
* LIFETIME = LIFETIME_DEFAULT
* TOP = 0
* LEFT = 0
CAPTION = 'List Of Materials Created'
* NO_AUTODEF_PROGID_DYNNR =
* METRIC = 0
* NAME =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
EVENT_ALREADY_REGISTERED = 6
ERROR_REGIST_EVENT = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT GRID
EXPORTING
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = DIALOG_BOX
* I_APPL_EVENTS = SPACE
* I_PARENTDBG =
* I_APPLOGPARENT =
* I_GRAPHICSPARENT =
* I_NAME =
* I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME = 'BAPIRET2'
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
* IS_LAYOUT =
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = IT_MSG[]
* IT_FIELDCATALOG =
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " CALL_DIALOG_BOX
*&---------------------------------------------------------------------*
*& Form REFRESH_BAPI_TABLES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM REFRESH_BAPI_TABLES .
CLEAR:V_PLANTDATA,
V_PLANTDATAX,
* V_PLANNINGDATA,
* V_PLANNINGDATAX,
V_STORAGELOCATIONDATA,
V_STORAGELOCATIONDATAX,
V_VALUATIONDATA,
V_VALUATIONDATAX,
V_SALESDATA,
V_SALESDATAX.
* V_STORAGETYPEDATA,
* V_STORAGETYPEDATAX,
REFRESH :
V_MATERIALDESCRIPTION,
V_UNITSOFMEASURE,
V_UNITSOFMEASUREX,
V_INTERNATIONALARTNOS,
V_MATERIALLONGTEXT,
V_TAXCLASSIFICATIONS,
* V_RETURNMESSAGES,
V_PRTDATA,
V_PRTDATAX,
RETURNMES.
CLEAR :
S_CLIENTDATA,
S_PLANTDATA,
S_FORECASTPARAMETERS,
S_PLANNINGDATA,
S_STORAGELOCATIONDATA,
S_VALUATIONDATA,
S_WAREHOUSENUMBERDATA,
S_SALESDATA,
S_STORAGETYPEDATA,
S_PRTDATA.
REFRESH :
S_MATERIALDESCRIPTION,
S_UNITSOFMEASURE,
S_INTERNATIONALARTNOS,
S_MATERIALLONGTEXT,
S_TAXCLASSIFICATIONS.
ENDFORM. " REFRESH_BAPI_TABLES
*&---------------------------------------------------------------------*
*& Form INSPECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INSPECTION .
REFRESH VT_INSPECTIONCTRL.
IF S_PLANTDATA-INSP_SETUP_FLAG IS NOT INITIAL.
WA_VT_INSPECTIONCTRL-INSPTYPE = '03'.
WA_VT_INSPECTIONCTRL-MATERIAL = WA_DATATAB-MATNR.
WA_VT_INSPECTIONCTRL-PLANT = WA_DATATAB-WERKS.
WA_VT_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = 'X'.
WA_VT_INSPECTIONCTRL-IND_INSP_BY_CHARAC = 'X'.
WA_VT_INSPECTIONCTRL-INSP_PERCENTAGE = 0.
WA_VT_INSPECTIONCTRL-IND_SKIPS_ALLOWED = 'X'.
WA_VT_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = 'X'.
WA_VT_INSPECTIONCTRL-AVE_INSP_DURATION = 0.
WA_VT_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = '06'.
WA_VT_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
WA_VT_INSPECTIONCTRL-PREFERRED_INSPTYPE = 'X' .
APPEND WA_VT_INSPECTIONCTRL TO VT_INSPECTIONCTRL.
CLEAR WA_VT_INSPECTIONCTRL.
CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
TABLES
RETURN = RET_INSP
INSPECTIONCTRL = VT_INSPECTIONCTRL.
ENDIF.
ENDFORM. " INSPECTION
*&---------------------------------------------------------------------*
*& Form MATERIAL_CLASSIFICATION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MATERIAL_CLASSIFICATION .
CLEAR :V_OBJECTKEYNEW,
V_OBJECTTABLENEW,
V_CLASSNUMNEW,
V_CLASSTYPENEW,
V_STATUS,
V_STANDARDCLASS.
V_OBJECTKEYNEW = WA_DATATAB-MATNR.
V_OBJECTTABLENEW = 'MARA'.
V_CLASSNUMNEW = 'ZWM'.
V_CLASSTYPENEW = '023'.
V_STATUS = 'X'.
V_STANDARDCLASS = 'X'.
*----------------------------------------------------------------------*
* Bapi To Create Classification Tab For Corresponding Material
*----------------------------------------------------------------------*
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
OBJECTKEYNEW = V_OBJECTKEYNEW
OBJECTTABLENEW = V_OBJECTTABLENEW
CLASSNUMNEW = V_CLASSNUMNEW
CLASSTYPENEW = V_CLASSTYPENEW
STATUS = V_STATUS
STANDARDCLASS = V_STANDARDCLASS
CHANGENUMBER = V_CHANGENUMBER
KEYDATE = V_KEYDATE
NO_DEFAULT_VALUES = V_NO_DEFAULT_VALUES
* IMPORTING
* CLASSIF_STATUS =
TABLES
ALLOCVALUESNUM = V_ALLOCVALUESNUM
ALLOCVALUESCHAR = V_ALLOCVALUESCHAR
ALLOCVALUESCURR = V_ALLOCVALUESCURR
RETURN = V_CLASS_RETURN.
ENDFORM. " MATERIAL_CLASSIFICATION