Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

problem with direct input program while uploading data into database

Former Member
0 Likes
767

TABLES: BGR00, " Mappensatz

BMM00, " MM01/MM02 BTCI-Kopfdaten

BMMH1, " MM01/MM02 Hauptdaten

BMMH2, " Länderdaten (Steuern)

BMMH3, " Prognosewerte

BMMH4, " Verbrauchswerte

BMMH5, " Kurztexte

BMMH6, " Mengeneinheiten

BMMH7, " Langtexte

BMMH8. " Referentielle EAN's

*----


*

  • Satztypen

*----


*

DATA: MAPPENSATZ LIKE BMM00-STYPE VALUE '0',

KOPFSATZ LIKE BMM00-STYPE VALUE '1',

HAUPTSATZ LIKE BMM00-STYPE VALUE '2',

KUN_SATZ LIKE BMM00-STYPE VALUE 'Z',

LANDSATZ LIKE BMM00-STYPE VALUE '3',

PROGSATZ LIKE BMM00-STYPE VALUE '4',

VERBSATZ LIKE BMM00-STYPE VALUE '5',

KTEXTSATZ LIKE BMM00-STYPE VALUE '6',

MESATZ LIKE BMM00-STYPE VALUE '7',

TEXTSATZ LIKE BMM00-STYPE VALUE '8',

EANSATZ LIKE BMM00-STYPE VALUE '9'.

*----

-


  • Common Data Bereich fuer die extern aufgerufenen Routinen

*----

-


*----


*

  • Initialstrukturen

*----


*

DATA: BEGIN OF COMMON PART RMMMBIMY.

DATA: BEGIN OF I_BMM00.

INCLUDE STRUCTURE BMM00. " Kopfdaten

DATA: END OF I_BMM00.

DATA: BEGIN OF I_BMMH1.

INCLUDE STRUCTURE BMMH1. " Haupdaten

DATA: END OF I_BMMH1.

DATA: BEGIN OF I_BMMH2.

INCLUDE STRUCTURE BMMH2. " Länderdaten

DATA: END OF I_BMMH2.

DATA: BEGIN OF I_BMMH3.

INCLUDE STRUCTURE BMMH3. " Prognosewerte

DATA: END OF I_BMMH3.

DATA: BEGIN OF I_BMMH4.

INCLUDE STRUCTURE BMMH4. " Verbrauchswerte

DATA: END OF I_BMMH4.

DATA: BEGIN OF I_BMMH5.

INCLUDE STRUCTURE BMMH5. " Kurztexte

DATA: END OF I_BMMH5.

DATA: BEGIN OF I_BMMH6.

INCLUDE STRUCTURE BMMH6. " Mengeneinheiten

DATA: END OF I_BMMH6.

DATA: BEGIN OF I_BMMH7.

INCLUDE STRUCTURE BMMH7. " Textzeilen

DATA: END OF I_BMMH7.

DATA: BEGIN OF I_BMMH8.

INCLUDE STRUCTURE BMMH8. " Referentielle EAN's

DATA: END OF I_BMMH8.

DATA: END OF COMMON PART.

DATA: WA LIKE TEDATA-DATA.

*----


*

  • Einzelfelder

*----


*

DATA: GROUP_COUNT(6) TYPE C, " Anzahl Mappen

TRANS_COUNT(6) TYPE C, " alte Definition für rmmmbim0

SATZ_COUNT LIKE MUEB_REST-TRANC, " Trans.zähler neu

H_IND_COUNT LIKE MUEB_REST-D_IND, " Index welches Feld zurücks.

SATZ2_COUNT(6) TYPE C. " Anz. Sätze je Trans. ohne Kopfsatz

DATA: XEOF(1) TYPE C, " X=End of File erreicht

XHAUPTSATZ_EXIST TYPE C, " X=Hauptsatz zum Kopf exi.

NODATA(1) TYPE C. " kein BI für dieses Feld

  • mk/15.08.94:

DATA: GROUP_OPEN(1) TYPE C. " X=Mappe schon geöffnet

*eject

*----

-


  • Konstanten

*----

-


DATA: C_NODATA(1) TYPE C VALUE '/'. " Default für NODATA

DATA: MATNR_ERW LIKE MARA-MATNR VALUE '0 '.

DATA: MATNR_ERW_INT LIKE MARA-MATNR. "internal sight of '0 '

DATA: MATNR_LAST LIKE MARA-MATNR. "Material number

********************************************************************

  • mk/11.08.94 2.1H:

  • If this flag is initial, the database updates will be done directly

  • during background maintenance instead of using a separate update

  • task. (no usage of this flag in dialogue mode!)

********************************************************************

DATA: DBUPDATE_VB(1) VALUE ' '. "note 306628

data: matsync type mat_sync. "wk/99a no update in dialog if called

***INCLUDE ZMUSD070.

TABLES: MARA, "Material Master: General Data

MARC, "Material Master: C Segment

MARD, "Material Master: St Loc/Batch

MBEW, "Material Valuation

MVKE, "Material Master: Sales Data

MLGN, "Material Data per Whse Number

MLAN, "Tax Classification: Material

T001W, "Plants/Branches

TBICU.

DATA: BEGIN OF VALUTAB OCCURS 0.

INCLUDE STRUCTURE RSPARAMS.

DATA: END OF VALUTAB.

DATA: BEGIN OF VARTECH.

INCLUDE STRUCTURE VARID.

DATA: END OF VARTECH.

DATA: PARMS LIKE ZXXDCONV.

DATA: REC_COUNT TYPE I,

REC_COUNT_BAD TYPE I,

ZJOBID LIKE TBIZU-JOBID,

ZJOBCOUNT LIKE TBIZU-JOBCOUNT,

ZMATNR LIKE MARA-MATNR,

ZTEXT(80) TYPE C.

CONSTANTS: LIT_ZERO(18) TYPE C VALUE '000000000000000000',

LIT_CHAR TYPE C VALUE '_',

LIT_CREATE LIKE BMM00-TCODE VALUE 'MM01',

LIT_CHANGE LIKE BMM00-TCODE VALUE 'MM02',

LIT_CHECK(1) TYPE C VALUE 'X'.

DATA: BEGIN OF INP_DATA OCCURS 0,

MATNR(18) TYPE C, " Material code

UMREN(6) TYPE C, " Denominator

MEINH(3) TYPE C, " Alternate UOM

UMREZ(6) TYPE C, " Numerator

END OF INP_DATA.

*eject

SELECTION-SCREEN BEGIN OF BLOCK INOUT WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (13) TEXT-004.

PARAMETERS: P_PC RADIOBUTTON GROUP SRC DEFAULT 'X'.

SELECTION-SCREEN COMMENT (6) TEXT-005.

PARAMETERS: P_UNIX RADIOBUTTON GROUP SRC.

SELECTION-SCREEN COMMENT (6) TEXT-006.

PARAMETERS: P_DS_TYP LIKE ZXXDCONV-DS_TYP

DEFAULT 'ASC'.

SELECTION-SCREEN END OF LINE.

*SELECT-OPTIONS: S_PATH FOR PARMS-PATH

  • NO INTERVALS

  • LOWER CASE.

PARAMETERS: P_PATH TYPE RLGRAP-FILENAME.

PARAMETERS: P_HDRLIN LIKE ZXXDCONV-HDR_LINES

DEFAULT 0,

P_JOBNAM LIKE TBICU_S-JOBNAME

MEMORY ID BM1,

P_DI_EXE AS CHECKBOX

DEFAULT LIT_CHECK,

P_MAPPE LIKE BGR00-GROUP

DEFAULT 'MRP_UOM_LOAD'

NO-DISPLAY.

SELECTION-SCREEN END OF BLOCK INOUT.

*eject

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

PROGRAM_NAME = SYST-REPID

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = 'P_PATH'

CHANGING

  • FILE_NAME = S_PATH-LOW

FILE_NAME = P_PATH

EXCEPTIONS

MASK_TOO_LONG = 1

OTHERS = 2.

AT SELECTION-SCREEN.

  • Set up parameter record

PARMS-UNIX = P_UNIX.

PARMS-PC = P_PC.

PARMS-DS_TYP = P_DS_TYP.

PARMS-JOBNAME = P_JOBNAM.

PARMS-MAPPE = P_MAPPE.

PARMS-HDR_LINES = P_HDRLIN.

*eject

************************************************************************

  • *

  • Main Processing Routine *

  • *

************************************************************************

START-OF-SELECTION.

  • Initialization

PERFORM 0000_HOUSEKEEPING.

    • Initialize transaction data in I_BM00

  • PERFORM 0500_INIT_BMM00.

  • Process input files

  • SORT S_PATH BY SIGN OPTION LOW.

  • MOVE S_PATH-LOW TO PARMS-PATH.

MOVE P_PATH TO PARMS-PATH.

  • LOOP AT S_PATH.

*

  • AT NEW LOW.

*

CLEAR INP_DATA.

REFRESH INP_DATA.

  • Read source data into internal table

PERFORM 1000_GET_SOURCE_DATA TABLES INP_DATA.

  • Processs each record in internal table

ZTEXT = TEXT-007.

ZTEXT+13 = PARMS-DS_NAME.

PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.

    • Initialize transaction data in I_BM00

PERFORM 0500_INIT_BMM00.

LOOP AT INP_DATA.

  • Reset tables for each record

BMM00 = I_BMM00.

BMMH1 = I_BMMH1.

BMMH6 = I_BMMH6.

  • Load structures with data

MOVE-CORRESPONDING INP_DATA TO BMM00.

PERFORM 2000_WRITE_OUTPUT USING BMM00.

MOVE-CORRESPONDING INP_DATA TO BMMH1.

PERFORM 2000_WRITE_OUTPUT USING BMMH1.

MOVE-CORRESPONDING INP_DATA TO BMMH6.

PERFORM 2000_WRITE_OUTPUT USING BMMH6.

REC_COUNT = REC_COUNT + 1.

ENDLOOP.

  • ENDAT.

*

  • ENDLOOP.

IF REC_COUNT GT 0

AND P_DI_EXE EQ LIT_CHECK.

PERFORM 3000_START_DI_JOB.

ENDIF.

WRITE: / TEXT-008,

REC_COUNT.

PERFORM 9000_END_OF_JOB.

*eject

  • Include containing common routines used by direct input programs

INCLUDE ZMUSD071.

*eject

*----


*

  • FORM 0500_INIT_BMM00 *

*----


*

  • Initialize I_BMM00 with transaction code and views selected *

*----


*

FORM 0500_INIT_BMM00.

***this changes done by samson**

if not inp_data[] is initial.

select single matnr from mara INTO ZMATNR where matnr = inp_data-matnr.

if sy-subrc = 0.

I_BMM00-TCODE = LIT_CHANGE.

  • Basic data

I_BMM00-XEIK1 = LIT_CHECK.

else.

I_BMM00-TCODE = LIT_CREATE.

  • Basic data

I_BMM00-XEIK1 = LIT_CHECK.

endif.

endif.

**this changes above done by samson**

    • Transaction code

  • I_BMM00-TCODE = LIT_CHANGE.

*

    • Basic data

  • I_BMM00-XEIK1 = LIT_CHECK.

ENDFORM.

INCLUDE ZMUSD069.

*eject

*----


*

  • FORM 0000_HOUSEKEEPING *

*----


*

  • Initialization routines *

*----


*

FORM 0000_HOUSEKEEPING.

PERFORM 0010_LDS_NAME.

PERFORM 0020_DS_NAME.

PERFORM 0030_OPEN_FILE.

PERFORM 0040_INIT_STRUCTS.

ENDFORM.

*eject

*----


*

  • FORM 0010_LDS_NAME *

*----


*

  • Obtain logical file name from DI job details *

*----


*

FORM 0010_LDS_NAME.

  • Check valid job name

SELECT SINGLE * FROM TBICU

WHERE JOBNAME EQ PARMS-JOBNAME.

IF SY-SUBRC EQ 0.

CALL FUNCTION 'RS_VARIANT_VALUES_TECH_DATA'

EXPORTING

REPORT = TBICU-REPNAME

VARIANT = TBICU-VARIANT

IMPORTING

TECHN_DATA = VARTECH

TABLES

VARIANT_VALUES = VALUTAB

EXCEPTIONS

VARIANT_NON_EXISTENT = 1

VARIANT_OBSOLETE = 2

OTHERS = 3.

IF SY-SUBRC EQ 0.

READ TABLE VALUTAB WITH KEY 'LDS_NAME'.

MOVE VALUTAB-LOW TO PARMS-LDS_NAME.

ELSE.

MESSAGE I001 WITH PARMS-JOBNAME.

MESSAGE A099.

ENDIF.

ELSE.

MESSAGE I000 WITH PARMS-JOBNAME.

MESSAGE A099.

ENDIF.

ENDFORM.

*eject

*----


*

  • FORM 0040_INIT_STRUCTS *

*----


*

  • Initialize structures for direct input records *

*----


*

FORM 0040_INIT_STRUCTS.

  • Start of standard SAP initialization from example program RMMMBIME

*------- Write session record -

-


CLEAR BGR00.

BGR00-STYPE = MAPPENSATZ.

BGR00-GROUP = PARMS-MAPPE.

BGR00-NODATA = C_NODATA.

BGR00-MANDT = SY-MANDT.

BGR00-USNAM = SY-UNAME.

BGR00-START = BGR00-NODATA.

BGR00-XKEEP = BGR00-NODATA.

PERFORM 2000_WRITE_OUTPUT USING BGR00.

*

*----- Initialize structures -

-


NODATA = BGR00-NODATA.

PERFORM INIT_STRUKTUREN_ERZEUGEN(RMMMBIMI) USING NODATA.

  • End of standard SAP initialization from example program RMMMBIME

ENDFORM.

*eject.

*----


*

  • FORM 3000_START_DI_JOB *

*----


*

  • Start direct input job *

*----


*

FORM 3000_START_DI_JOB.

ZTEXT = 'Starting '(021).

ZTEXT+9 = TBICU-JOBNAME.

PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.

CALL FUNCTION 'BI_START_JOB'

EXPORTING

JOBID = ' '

JOBTEXT = TBICU-JOBNAME

REPNAME = TBICU-REPNAME

SERVER = TBICU-EXECSERVER

VARIANT = TBICU-VARIANT

NEW_JOB = 'X'

CONTINUE_JOB = ' '

START_IMMEDIATE = 'X'

DO_NOT_PRINT = 'X'

USERNAME = SY-UNAME

IMPORTING

JOBID = ZJOBID

JOBCOUNT = ZJOBCOUNT

EXCEPTIONS

JOB_OPEN_FAILED = 1

JOB_CLOSE_FAILED = 2

JOB_SUBMIT_FAILED = 3

WRONG_PARAMETERS = 4

JOB_DOES_NOT_EXIST = 5

WRONG_STARTTIME_GIVEN = 6

JOB_NOT_RELEASED = 7

WRONG_VARIANT = 8

NO_AUTHORITY = 9

DIALOG_CANCELLED = 10

JOB_ALREADY_EXISTS = 11

PERIODIC_NOT_ALLOWED = 12

ERROR_NUMBER_GET_NEXT = 13

OTHERS = 14.

IF SY-SUBRC EQ 0.

WRITE: / 'Direct input job'(022), TBICU-JOBNAME, 'started'.

ELSE.

WRITE: / 'Direct input failed with return code'(023), SY-SUBRC.

ENDIF.

FORM 0020_DS_NAME.

CALL FUNCTION 'FILE_GET_NAME'

EXPORTING

CLIENT = SY-MANDT

LOGICAL_FILENAME = PARMS-LDS_NAME

OPERATING_SYSTEM = SY-OPSYS

IMPORTING

FILE_NAME = PARMS-DS_NAME

EXCEPTIONS

FILE_NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC NE 0.

MESSAGE E002 WITH PARMS-LDS_NAME.

MESSAGE A099.

ENDIF.

ENDFORM.

*eject

*----


*

  • FORM 0030_OPEN_FILE *

*----


*

  • Open physical file for output *

*----


*

FORM 0030_OPEN_FILE.

  • OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE. "thg191105

OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE

encoding default. "thg191105

IF SY-SUBRC NE 0.

MESSAGE E003 WITH PARMS-DS_NAME.

MESSAGE A099.

ENDIF.

ENDFORM.

*eject

*----


*

  • FORM 1000_GET_SOURCE_DATA *

*----


*

  • Read source data into internal table *

*----


*

  • --> INP_DATA " Name of internal table passed as parameter *

*----


*

FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.

CALL FUNCTION 'Z_FILE_UPLOAD'

EXPORTING

UNIX = PARMS-UNIX

PC = PARMS-PC

FILETYPE = PARMS-DS_TYP

FILENAME = PARMS-PATH

HDR_LINES = PARMS-HDR_LINES

TABLES

DATA_TAB = INP_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

FILE_OPEN_ERROR = 2

FILE_READ_ERROR = 3

INVALID_TABLE_WIDTH = 4

INVALID_TYPE = 5

NO_BATCH = 6

UNKNOWN_ERROR = 7

INVALID_SOURCE = 8

OTHERS = 9.

ENDFORM.

*eject

*----


*

  • FORM 2000_WRITE_OUTPUT *

*----


*

  • Write record in standard SAP structure to UNIX file *

*----


*

  • --> I_STRUCT " Name of record passed as parameter *

*----


*

*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05

FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05

TRANSFER I_STRUCT TO PARMS-DS_NAME.

IF SY-SUBRC NE 0.

MESSAGE E004 WITH PARMS-DS_NAME.

MESSAGE A099.

ENDIF.

ENDFORM.

*eject

*&----


*

*& Form 2100_WS_DOWNLOAD

*&----


*

  • text *

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM 2100_WS_DOWNLOAD TABLES INP_DATA.

  • DATA: FILENAME LIKE RLGRAP-FILENAME. "SRY28NOV05

DATA: W_FILENAME TYPE STRING. "SRY28NOV05

DATA: W_FTYP(10) TYPE C VALUE 'DAT'. "SRY28NOV05

  • MOVE PARMS-DS_NAME TO FILENAME. "SRY28NOV05

MOVE PARMS-DS_NAME TO W_FILENAME. "SRY28NOV05

*BEGIN OF BLOCK COMMENT BY SRY28NOV05

  • CALL FUNCTION 'WS_DOWNLOAD'

  • EXPORTING

    • BIN_FILESIZE = ' '

    • CODEPAGE = ' '

  • FILENAME = FILENAME

  • FILETYPE = 'DAT'

    • MODE = ' '

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • COL_SELECT = ' '

    • COL_SELECTMASK = ' '

    • importing

    • filelength =

  • TABLES

  • DATA_TAB = INP_DATA

    • FIELDNAMES =

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_WRITE_ERROR = 2

  • INVALID_FILESIZE = 3

  • INVALID_TABLE_WIDTH = 4

  • INVALID_TYPE = 5

  • NO_BATCH = 6

  • UNKNOWN_ERROR = 7

  • OTHERS = 8.

*END OF BLOCK COMMENT BY SRY28NOV05

*BEGIN OF BLOCK ADDED BY SRY28NOV05

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = W_FILENAME

FILETYPE = W_FTYP

TABLES

DATA_TAB = INP_DATA

EXCEPTIONS

FILE_WRITE_ERROR = 1

NO_BATCH = 2

GUI_REFUSE_FILETRANSFER = 3

INVALID_TYPE = 4

NO_AUTHORITY = 5

UNKNOWN_ERROR = 6

HEADER_NOT_ALLOWED = 7

SEPARATOR_NOT_ALLOWED = 8

FILESIZE_NOT_ALLOWED = 9

HEADER_TOO_LONG = 10

DP_ERROR_CREATE = 11

DP_ERROR_SEND = 12

DP_ERROR_WRITE = 13

UNKNOWN_DP_ERROR = 14

ACCESS_DENIED = 15

DP_OUT_OF_MEMORY = 16

DISK_FULL = 17

DP_TIMEOUT = 18

FILE_NOT_FOUND = 19

DATAPROVIDER_EXCEPTION = 20

CONTROL_FLUSH_ERROR = 21

OTHERS = 22.

IF SY-SUBRC NE 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*END OF BLOCK ADDED BY SRY28NOV05

ENDFORM. " 2100_WS_DOWNLOAD

*eject

*----


*

  • FORM 4000_PROGRESS_INDICATOR *

*----


*

  • Write progress text to status bar *

*----


*

  • --> TEXT " Text passed as parameter *

*----


*

FORM 4000_PROGRESS_INDICATOR USING TEXT.

CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

EXPORTING

PERCENTAGE = 0

TEXT = TEXT

EXCEPTIONS

OTHERS = 1.

ENDFORM.

*eject.

*----


*

  • FORM 9000_END_OF_JOB *

*----


*

  • Close files on UNIX *

*----


*

FORM 9000_END_OF_JOB.

CLOSE DATASET PARMS-DS_NAME.

ENDFORM.

FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.

CALL FUNCTION 'Z_FILE_UPLOAD'

EXPORTING

UNIX = PARMS-UNIX

PC = PARMS-PC

FILETYPE = PARMS-DS_TYP

FILENAME = PARMS-PATH

HDR_LINES = PARMS-HDR_LINES

TABLES

DATA_TAB = INP_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

FILE_OPEN_ERROR = 2

FILE_READ_ERROR = 3

INVALID_TABLE_WIDTH = 4

INVALID_TYPE = 5

NO_BATCH = 6

UNKNOWN_ERROR = 7

INVALID_SOURCE = 8

OTHERS = 9.

ENDFORM.

*eject

*----


*

  • FORM 2000_WRITE_OUTPUT *

*----


*

  • Write record in standard SAP structure to UNIX file *

*----


*

  • --> I_STRUCT " Name of record passed as parameter *

*----


*

*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05

FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05

TRANSFER I_STRUCT TO PARMS-DS_NAME.

IF SY-SUBRC NE 0.

MESSAGE E004 WITH PARMS-DS_NAME.

MESSAGE A099.

ENDIF.

ENDFORM.

*eject

*&----


*

*& Form 2100_WS_DOWNLOAD

*&----


*

  • text *

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM 2100_WS_DOWNLOAD TABLES INP_DATA.

2 REPLIES 2
Read only

VXLozano
Active Contributor
0 Likes
532

It will be much more useful if you explain us your problem. Much better than just post thousand lines of code.

My advice: explain your problem, and if you need to put some code to explain it better, use the "Code" button you will find near "Spell Check". If you are getting an error message, post it too, and put just the code related with that message/error.

Good luck,

V

Read only

Former Member
0 Likes
532

Hi,

Thnaks for your reply, This is my requirement.

Here my problem is i am trying to upload the data from flatfile which contain materil number, denominator, Actual UOM, Nominator field values.

Which is the data i need to upload into MM02 and MM01, if material number is new then it has to create the material, if material is already existing it has to update the UOM values.

here i am getting data into my internal table INP_DATA, from that i am trying to upload the data to database by using job name MRP_MATERIAL_MASTER_DATA_UPLOAD with direct input program RMDATIND.

when i execute my program i am getting success message all the records writtin from flatfile to application server. and job started message.

then if i go into sm37 screen there i execute the job it is also giving active message. if i refresh it it is showing job completed message.

then i look at job log status. there i found that for existing material it is expecting material type, for new material it is giving some gravity error.

So could u help me in this it will be gr8.

Thanks & Regards,

RamNV