‎2009 Jun 11 4:16 AM
Hi all,
I am using the FM MATERIAL_MAINTAIN_DARK to create a material in the forecasting view. I have searched sdn and found lots of materials on this FM but still the I am not finding any solution to my problem.
My problem is, when I am using this FM to create a material, and error message is popping up saying "An internal error while updating, inserting or deleting from table MLAN.". We are not using BAPI_MATERIAL_SAVEDATA or BAPI_MATERIAL_SAVEREPLICA for the purpose. So please suggest me what possibly could be the problem in my test code given below :-
DATA: GT_MPOP_UEB TYPE STANDARD TABLE OF MPOP_UEB,
GT_MARA_UEB TYPE STANDARD TABLE OF MARA_UEB,
GT_MAKT_UEB TYPE STANDARD TABLE OF MAKT_UEB,
GT_MVEG_UEB TYPE STANDARD TABLE OF MVEG_UEB,
GT_ERROR_LIST TYPE STANDARD TABLE OF MERRDAT,
GW_MPOP_UEB TYPE MPOP_UEB,
GW_MARA_UEB TYPE MARA_UEB,
GW_MAKT_UEB TYPE MAKT_UEB,
GW_MVEG_UEB TYPE MVEG_UEB.
DATA: G_TRANC TYPE TRANSCOUNT VALUE 1.
CONSTANTS: G_MATERIAL TYPE STRING VALUE 'ZANIRBAN1', "ANIRBAN1',
G_MATERIAL_DESC TYPE STRING VALUE 'Test Material',
G_INDUSTRY_SECTOR TYPE STRING VALUE 'M',
G_MATERIAL_TYPE TYPE STRING VALUE 'FERT',
G_BASE_UNIT_OF_MEASURE TYPE STRING VALUE 'EA',
G_PLANT TYPE STRING VALUE '0001',
G_FORECASTMODEL TYPE STRING VALUE 'J',
G_FUNCTION TYPE STRING VALUE 'INS',
G_TCODE TYPE STRING VALUE 'MM01'.
Continued in the next thread *****
‎2009 Jun 11 4:18 AM
***..... Continued from previous thread ***
INITIALIZATION.
GW_MARA_UEB-TRANC = G_TRANC.
GW_MARA_UEB-MATNR = G_MATERIAL.
GW_MARA_UEB-MTART = G_MATERIAL_TYPE.
GW_MARA_UEB-MBRSH = G_INDUSTRY_SECTOR.
GW_MARA_UEB-MEINS = G_BASE_UNIT_OF_MEASURE.
GW_MARA_UEB-TCODE = G_TCODE.
APPEND GW_MARA_UEB TO GT_MARA_UEB.
GW_MPOP_UEB-TRANC = G_TRANC.
GW_MPOP_UEB-MATNR = G_MATERIAL.
GW_MPOP_UEB-WERKS = G_PLANT.
GW_MPOP_UEB-PRMOD = G_FORECASTMODEL.
APPEND GW_MPOP_UEB TO GT_MPOP_UEB.
GW_MAKT_UEB-TRANC = G_TRANC.
GW_MAKT_UEB-SPRAS = SY-LANGU.
GW_MAKT_UEB-MATNR = G_MATERIAL.
GW_MAKT_UEB-MAKTX = G_MATERIAL_DESC.
APPEND GW_MAKT_UEB TO GT_MAKT_UEB.
Consumption values.
GW_MVEG_UEB-TRANC = G_TRANC.
GW_MVEG_UEB-MATNR = G_MATERIAL.
GW_MVEG_UEB-WERKS = G_PLANT.
GW_MVEG_UEB-VBWRT = '10'.
APPEND GW_MVEG_UEB TO GT_MVEG_UEB.
GW_MVEG_UEB-TRANC = G_TRANC.
GW_MVEG_UEB-MATNR = G_MATERIAL.
GW_MVEG_UEB-WERKS = G_PLANT.
GW_MVEG_UEB-VBWRT = '20'.
APPEND GW_MVEG_UEB TO GT_MVEG_UEB.
Continued in next thread ***
‎2009 Jun 11 4:19 AM
Continued from previous thread ***
START-OF-SELECTION.
CALL FUNCTION 'MATERIAL_MAINTAIN_DARK'
EXPORTING
FLAG_MUSS_PRUEFEN = 'X'
SPERRMODUS = 'E'
MAX_ERRORS = 0
P_KZ_NO_WARN = 'N'
KZ_PRF = SPACE
KZ_VERW = 'X'
KZ_AEND = 'X'
KZ_DISPO = 'X'
KZ_TEST = ' '
CALL_MODE = 'RMD'
CALL_MODE2 = ' '
USER = SY-UNAME
TABLES
AMARA_UEB = GT_MARA_UEB
AMAKT_UEB = GT_MAKT_UEB
AMPOP_UEB = GT_MPOP_UEB
AMVEG_UEB = GT_MVEG_UEB
AMERRDAT = GT_ERROR_LIST
EXCEPTIONS
KSTATUS_EMPTY = 1
TKSTATUS_EMPTY = 2
T130M_ERROR = 3
INTERNAL_ERROR = 4
TOO_MANY_ERRORS = 5
UPDATE_ERROR = 6
ERROR_PROPAGATE_HEADER = 7
OTHERS = 8
.
IF SY-SUBRC NE 0.
LOOP AT GT_ERROR_LIST INTO GW_ERROR_LIST .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CLEAR GW_ERROR_LIST.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
MESSAGE 'Material Created successfully.' TYPE 'I'.
ENDIF.
‎2009 Jun 11 4:32 AM
Hi Anirban,
Just a couple of pointers for the error from ABAP Perspective as I am not aware of the functionality (Material Management):
1. Can you check the Function Module Documentation if there are some more parameter needed to be send?
2. The error might be because of SAP Kernel. Can you check whether you are using the latest SAP NetWeaver ABAP (version. 7.0+) ?
3. Can you debug the FM to 2 Levels to check from which level you are getting that error.?
Hope this helps.
Thanks,
Samantak.
‎2009 Jun 11 4:43 AM
The one thing not clear to me is how to tell the FM that I want to create a material in the FORECASTING VIEW? In BAPI_MATERIAL_SAVEDATA, this is achieved by assigning FORECASTPARAMETERS and FORECASTPARAMETERSX. Also in BAPI_MATERIAL_SAVEREPLICA, this is achieved by setting the HEADDATA-FORECAST_VIEW to 'X'. But how will I achieve this in MATERIAL_MAINTAIN_DARK is not clear to me. Any suggestions please?
‎2009 Jun 11 5:02 AM
Hi all,
I am settting the PSTAT field of structure MARA_UEB to 'P' for forecast view. But when I am running my above code, again the error message is popping up saying "Internal error while updating, inserting or deleting from table MLAN". Please help..