0% found this document useful (0 votes)
350 views

Me 01

This document describes a report to upload source list data from an Excel file into the EORD table in SAP. It includes sections for selecting the file, uploading the data into an internal table, validating the data, and then either using BDC programming to insert the records into EORD via a session or call transaction depending on the selected method. Error messages are logged to a text file.

Uploaded by

Anil Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
350 views

Me 01

This document describes a report to upload source list data from an Excel file into the EORD table in SAP. It includes sections for selecting the file, uploading the data into an internal table, validating the data, and then either using BDC programming to insert the records into EORD via a session or call transaction depending on the selected method. Error messages are logged to a text file.

Uploaded by

Anil Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 12

*&---------------------------------------------------------------------*

*& Report ZDML_SOURCELIST_UPLOAD


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDML_SOURCELIST_UPLOAD NO STANDARD PAGE HEADING LINE-SIZE 255.
***********************************************************************
* Description
: TO UPLOAD SOURCE LIST DATA
*
* Input Parameters :
* Output Parameter :
* Updated Tables : EORD
* Updated Files :
*
************************************************************************
* Modification History
************************************************************************
* Programmer
Date
Request # Description
* **********
*********
*
************************************************************************
TYPE-POOLS: TRUXS.
TABLES: MARC,EKPO,LFM1.
* Internal table TYPE
TYPES: BEGIN OF TY_EORD,
MATNR(18) TYPE C,
WERKS(4) TYPE C,
VDATU(10) TYPE C,
BDATU(10) TYPE C,
LIFNR(10) TYPE C,
EKORG(4) TYPE C,
RESWK(4) TYPE C,
MEINS(3) TYPE C,
EBELN TYPE EVRTN,
EBELP(5) TYPE C,
FLIFN(1) TYPE C,
NOTKZ(1) TYPE C,
FEBEL(1) TYPE C,
AUTET(10) TYPE C,
END OF TY_EORD.
TYPES : BEGIN OF TY_BDCDATA,
PROGRAM TYPE BDC_PROG,
DYNPRO TYPE BDC_DYNR,
DYNBEGIN TYPE BDC_START,
FNAM TYPE FNAM_____4,
FVAL TYPE BDC_FVAL,
END OF TY_BDCDATA.
*** End generated data section ***
* internal table

DATA : T_EORD TYPE STANDARD TABLE OF TY_EORD,


W_EORD TYPE TY_EORD.
DATA: T_DUMMY TYPE STANDARD TABLE OF TY_EORD,
W_DUMMY TYPE TY_EORD.
DATA : W_BDCDATA TYPE TY_BDCDATA,
T_BDCDATA TYPE STANDARD TABLE OF TY_BDCDATA.
DATA: V_EBELN TYPE STRING.
DATA: LW_EORD TYPE TY_EORD,
LT_EORD TYPE STANDARD TABLE OF TY_EORD.
DATA: V_FIELD(30) TYPE C,
V_COUNT(4) TYPE C.
DATA: BEGIN OF I_MESS OCCURS 0,
L_MSTRING(480),
MSGNR(5),
MSGV1(15),
END OF I_MESS.
DATA:I_MESS1 LIKE I_MESS OCCURS 0 WITH HEADER LINE.
DATA: L_MSTRING(480),
L_MSTRING1(480).
*** Generated data section with specific formatting
DATA:MESSTAB1 LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: T_BDCMSGCOLL TYPE BDCMSGCOLL.
*declaration to upload excel file
DATA: T_RAW TYPE TRUXS_T_TEXT_DATA.
DATA: W_TEXTOUT LIKE T100-TEXT.
********************************************************************************
*****
* Selection Screen
********************************************************************************
*****
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : SES RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND SES. "create ses
sion
SELECTION-SCREEN COMMENT 3(20) TEXT-001 FOR FIELD SES.
SELECTION-SCREEN POSITION 45.
PARAMETERS : CTU RADIOBUTTON GROUP R1.
"call transaction
SELECTION-SCREEN COMMENT 48(20) TEXT-002 FOR FIELD CTU.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-003.
PARAMETERS : P_SNAME TYPE APQI-GROUPID VISIBLE LENGTH 20 MODIF ID SC1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
PARAMETERS: P_FNAME TYPE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
************************************************************************

* A T S E L E C T I O N - S C R E E N OUTPUT
************************************************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SES EQ 'X'.
IF SCREEN-GROUP1 = 'SC2'.
SCREEN-ACTIVE = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'SC1'.
SCREEN-ACTIVE = '1'.
ENDIF.
ELSEIF CTU EQ 'X'.
IF SCREEN-GROUP1 = 'SC1'.
SCREEN-ACTIVE = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'SC2'.
SCREEN-ACTIVE = '1'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
* file_selection will help to select the location of the file
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME
= ' '
IMPORTING
FILE_NAME
= P_FNAME.
START-OF-SELECTION.
* Perform data_upload will help to upload the data from the flat file to the in
ternal table.
PERFORM GET_DATA.
* Perform to validate the data of itab
PERFORM VALIDAING_DATA.
IF T_EORD IS INITIAL.
MESSAGE 'NO DATA IN THE TABLE' TYPE 'E'.
ENDIF.
IF SES EQ 'X'. " SESSION MEATHOD
* perform open_group.
PERFORM OPEN_SESSION.
*Peformbdc_upload will help to upload the data from the internal table into its
respective fields.
PERFORM BDC_UPLOAD.
*

perform bdc_insert .
PERFORM SESSION_METHOD.

* perform close_group.
PERFORM CLOSE_GROUP.

ELSE. " CALL TRANSACTION


*Peformbdc_upload will help to upload the data from the internal table into its
respective fields.
PERFORM BDC_UPLOAD.
*Perfrom to CALL_TRANSACTION
PERFORM CALL_TRANSACTION.
*PERFORM FOR DOWNLOADING THE DATA.
PERFORM EXP_LOG.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Form GET_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_DATA .
DATA: T_XL TYPE STANDARD TABLE OF ALSMEX_TABLINE,
W_XL TYPE ALSMEX_TABLINE.
DATA : P_DTROW TYPE KCD_EX_ROW_N.
FIELD-SYMBOLS <DATA>.
REFRESH : T_DUMMY , T_XL. ",T_EORD.
* Upload from EXCEL
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME
= P_FNAME
I_BEGIN_COL
= 1
I_BEGIN_ROW
= 1
I_END_COL
= 22
*
I_END_ROW
= 2000
I_END_ROW
= 11000
TABLES
INTERN
= T_XL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE
= 2
OTHERS
= 3.
CHECK SY-SUBRC = 0.
LOOP AT T_XL INTO W_XL.
CHECK W_XL-ROW GT P_DTROW.
AT NEW ROW.
CLEAR : W_DUMMY.
ENDAT.
ASSIGN COMPONENT W_XL-COL OF STRUCTURE W_DUMMY TO <DATA>.
IF SY-SUBRC IS INITIAL.

IF W_XL-VALUE = TEXT-T30.
CLEAR W_XL-VALUE.
ENDIF.
<DATA> = W_XL-VALUE.
ENDIF.
AT END OF ROW.
APPEND W_DUMMY TO T_DUMMY.
ENDAT.
ENDLOOP.
ENDFORM.

" GET_DATA

*&---------------------------------------------------------------------*
*&
Form BDC_UPLOAD
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM BDC_UPLOAD .
SORT T_EORD BY MATNR WERKS.
LT_EORD = T_EORD.
LOOP AT LT_EORD INTO LW_EORD.
V_COUNT = '01'.
*

AT NEW
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
ENDAT.

WERKS.
BDC_DYNPRO
BDC_FIELD
BDC_FIELD
BDC_FIELD
BDC_FIELD

USING
USING
USING
USING
USING

'SAPLMEOR' '0200'.
'BDC_CURSOR' 'EORD-WERKS'.
'BDC_OKCODE' '/00'.
'EORD-MATNR' LW_EORD-MATNR.
'EORD-WERKS' LW_EORD-WERKS.

LOOP AT T_EORD INTO W_EORD WHERE MATNR EQ LW_EORD-MATNR


AND WERKS EQ LW_EORD-WERKS.
PERFORM BDC_DYNPRO USING 'SAPLMEOR' '0205'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'EORD-AUTET(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
CONCATENATE 'EORD-VDATU(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-VDATU.
CLEAR : V_FIELD.
CONCATENATE 'EORD-BDATU(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-BDATU.
CLEAR : V_FIELD.
CONCATENATE 'EORD-LIFNR(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-LIFNR.
CLEAR : V_FIELD.
CONCATENATE 'EORD-EKORG(' V_COUNT ')' INTO V_FIELD.

PERFORM BDC_FIELD USING V_FIELD W_EORD-EKORG.


CLEAR : V_FIELD.
CONCATENATE 'EORD-RESWK(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-RESWK.
CLEAR : V_FIELD.
CONCATENATE 'EORD-MEINS(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-MEINS.
CLEAR : V_FIELD.
CONCATENATE 'EORD-EBELN(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-EBELN.
CLEAR : V_FIELD.
CONCATENATE 'EORD-EBELP(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-EBELP.
CLEAR : V_FIELD.
CONCATENATE 'RM06W-FESKZ(' V_COUNT ')' INTO V_FIELD.
IF W_EORD-FLIFN EQ 'x'.
PERFORM BDC_FIELD USING V_FIELD W_EORD-FLIFN.
ELSE.
PERFORM BDC_FIELD USING V_FIELD W_EORD-FEBEL.
ENDIF.
CLEAR : V_FIELD.
CONCATENATE 'EORD-NOTKZ(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-NOTKZ.
CLEAR : V_FIELD.
CONCATENATE 'EORD-AUTET(' V_COUNT ')' INTO V_FIELD.
PERFORM BDC_FIELD USING V_FIELD W_EORD-AUTET.
CLEAR : V_FIELD.
V_COUNT = V_COUNT + 01.
CLEAR : V_FIELD.
ENDLOOP.
*

AT END OF WERKS.
PERFORM BDC_DYNPRO
USING 'SAPLMEOR' '0205'.
PERFORM BDC_FIELD
USING 'BDC_CURSOR' 'EORD-MATNR'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE' '=BU'.
IF SES EQ 'X'.
PERFORM SESSION_METHOD.
ELSE.
PERFORM CALL_TRANSACTION.
ENDIF.
ENDAT.
ENDLOOP.

ENDFORM.

" BDC_UPLOAD

*&---------------------------------------------------------------------*
*&
Form bdc_dynpro
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*

*
-->PROGRAM
text
*
-->DYNPRO
text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR W_BDCDATA.
W_BDCDATA-PROGRAM = PROGRAM.
W_BDCDATA-DYNPRO = DYNPRO.
W_BDCDATA-DYNBEGIN = 'X'.
APPEND W_BDCDATA TO T_BDCDATA.
ENDFORM. "BDC_DYNPRO

*&---------------------------------------------------------------------*
*&
Form bdc_field
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->FNAM
text
*
-->FVAL
text
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
CLEAR W_BDCDATA.
W_BDCDATA-FNAM = FNAM.
W_BDCDATA-FVAL = FVAL.
APPEND W_BDCDATA TO T_BDCDATA.
ENDFORM. "BDC_Field
*&---------------------------------------------------------------------*
*&
Form EXP_LOG
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM EXP_LOG .
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'c:\temp\error_fK00.txt'
FILETYPE = 'DAT'
TABLES
DATA_TAB = I_MESS.
ENDFORM.
" EXP_LOG
*&---------------------------------------------------------------------*
*&
Form CALL_TRANSACTION
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM CALL_TRANSACTION .
CALL TRANSACTION 'ME01' USING T_BDCDATA MODE 'A' UPDATE 'S' MESSAGES INTO MESS
TAB1.
PERFORM MESS1.
REFRESH T_BDCDATA.

ENDFORM.

" CALL_TRANSACTION

*&---------------------------------------------------------------------*
*&
Form MESS1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM MESS1 .
LOOP AT MESSTAB1.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID
= MESSTAB1-MSGID
LANG
= MESSTAB1-MSGSPRA
NO
= MESSTAB1-MSGNR
V1
= MESSTAB1-MSGV1
V2
= MESSTAB1-MSGV2
V3
= MESSTAB1-MSGV3
V4
= MESSTAB1-MSGV4
IMPORTING
MSG
= L_MSTRING1
EXCEPTIONS
NOT_FOUND = 1
OTHERS
= 2.
CONDENSE L_MSTRING1.
I_MESS-L_MSTRING = L_MSTRING1(250).
I_MESS-MSGNR = MESSTAB1-MSGNR.
I_MESS-MSGV1 = MESSTAB1-MSGV1.
APPEND I_MESS.
ENDLOOP.
ENDFORM.
" MESS1
*&---------------------------------------------------------------------*
*&
Form OPEN_SESSION
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM OPEN_SESSION .
DATA: USER TYPE APQI-USERID.
USER = SY-UNAME.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT
= SY-MANDT
GROUP
= P_SNAME "SESS NAME GO TO SM35
KEEP
= 'X'
USER
= USER
EXCEPTIONS
CLIENT_INVALID
= 1
DESTINATION_INVALID = 2
GROUP_INVALID
= 3
GROUP_IS_LOCKED
= 4

HOLDDATE_INVALID
= 5
INTERNAL_ERROR
= 6
QUEUE_ERROR
= 7
RUNNING
= 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID
= 10
OTHERS
= 11.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.

" OPEN_SESSION

*&---------------------------------------------------------------------*
*&Form SESSION_METHOD
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM SESSION_METHOD .
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE
= 'ME01'
TABLES
DYNPROTAB
= T_BDCDATA
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN
= 2
QUEUE_ERROR
= 3
TCODE_INVALID
= 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS
= 7.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM." SESSION_METHOD
*&---------------------------------------------------------------------*
*&
Form CLOSE_GROUP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM CLOSE_GROUP .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE : 'Session created process it in SM35'.
ENDFORM.
" CLOSE_GROUP
*&---------------------------------------------------------------------*
*&
Form VALIDAING_DATA
*&---------------------------------------------------------------------*
*
text

*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM VALIDAING_DATA .
DATA: W_MARC TYPE MARC,
W_LFM1 TYPE LFM1,
W_EKPO TYPE EKPO,
W_EKKO TYPE EKKO,
W_T001W TYPE T001W.
DATA:

V_MATNR TYPE MATNR,


V_MEINS TYPE BSTME,
V_LIFNR TYPE EKKO-LIFNR.

LOOP AT T_DUMMY INTO W_DUMMY.


IF W_DUMMY-EBELN IS NOT INITIAL .
SELECT SINGLE * FROM EKKO INTO W_EKKO WHERE
'L' )
AND
AND
IF SY-SUBRC NE 0.
MESSAGE 'Enter the Valid Outline Agreement
ELSE.
MOVE W_EKKO-LIFNR TO W_EORD-LIFNR.
MOVE W_EKKO-EBELN TO W_EORD-EBELN.
MOVE W_EKKO-EKORG TO W_EORD-EKORG.

( BSTYP EQ 'K' OR BSTYP EQ


EKORG EQ W_DUMMY-EKORG
EBELN EQ W_DUMMY-EBELN.
No.' TYPE 'E'.

SELECT SINGLE * FROM EKPO INTO W_EKPO WHERE EBELN EQ W_DUMMY-EBELN


AND EBELP EQ W_DUMMY-EBELP
AND WERKS EQ W_DUMMY-WERKS.
IF SY-SUBRC EQ 0.
MOVE W_EKPO-EBELP TO W_EORD-EBELP.
V_MATNR = W_EKPO-MATNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = W_DUMMY-MEINS
IMPORTING
OUTPUT = V_MEINS.
IF V_MEINS IS INITIAL.
MESSAGE 'Unit Conversion Problem' TYPE 'I'.
ELSE.
W_EORD-MEINS = V_MEINS.
ENDIF.
ELSE.
MESSAGE 'Purchase Organisation No. is mot matching with the Items' TYP
E 'E'.
ENDIF.
ENDIF.
SELECT SINGLE * FROM MARC INTO W_MARC WHERE MATNR EQ V_MATNR
AND WERKS EQ W_EKPO-WERKS.
IF SY-SUBRC NE 0.
MESSAGE 'Material Number does not belongs to the Plant' TYPE 'E'.
ELSE.

W_EORD-MATNR = V_MATNR.
MOVE W_EKPO-WERKS TO W_EORD-WERKS.
ENDIF.
IF W_DUMMY-VDATU IS NOT INITIAL AND W_DUMMY-BDATU IS NOT INITIAL.
MOVE W_DUMMY-VDATU TO W_EORD-VDATU.
MOVE W_DUMMY-BDATU TO W_EORD-BDATU.
ELSE.
MESSAGE 'Enter the Correct Date' TYPE 'E'.
ENDIF.
IF W_DUMMY-FLIFN EQ 'X' AND W_DUMMY-NOTKZ EQ 'X'.
MESSAGE 'The Material should be Fixed or Blocked but not both' TYPE 'E'.
ELSE.
MOVE W_DUMMY-FLIFN TO W_EORD-FEBEL.
MOVE W_DUMMY-NOTKZ TO W_EORD-NOTKZ.
ENDIF.
MOVE W_DUMMY-AUTET TO W_EORD-AUTET.
ELSE.
SELECT SINGLE * FROM MARC INTO W_MARC WHERE MATNR EQ W_DUMMY-MATNR
AND WERKS EQ W_DUMMY-WERKS.
IF SY-SUBRC NE 0.
MESSAGE 'Material Number does not belongs to the Plant' TYPE 'E'.
ELSE.
MOVE W_MARC-MATNR TO W_EORD-MATNR.
MOVE W_MARC-WERKS TO W_EORD-WERKS.
ENDIF.
SELECT SINGLE * FROM T001W INTO W_T001W WHERE WERKS EQ W_MARC-WERKS
AND EKORG EQ W_DUMMY-EKORG.
IF SY-SUBRC NE 0.
MESSAGE 'Plant and Purchase Organisation donot match' TYPE 'E'.
ELSE.
MOVE W_T001W-EKORG TO W_EORD-EKORG.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = W_DUMMY-LIFNR
IMPORTING
OUTPUT = V_LIFNR.
SELECT SINGLE * FROM LFM1 INTO W_LFM1 WHERE LIFNR EQ V_LIFNR
AND EKORG EQ W_T001W-EKORG.
IF SY-SUBRC NE 0.
MESSAGE 'Vendor is not valid for the Plant' TYPE 'E'.
ELSE.
MOVE W_LFM1-LIFNR TO W_EORD-LIFNR.
ENDIF.
IF W_DUMMY-VDATU IS NOT INITIAL AND W_DUMMY-BDATU IS NOT INITIAL.
MOVE W_DUMMY-VDATU TO W_EORD-VDATU.
MOVE W_DUMMY-BDATU TO W_EORD-BDATU.
ELSE.
MESSAGE 'Enter the Correct Date' TYPE 'E'.
ENDIF.

IF W_DUMMY-FLIFN EQ 'X' AND W_DUMMY-NOTKZ EQ 'X'.


MESSAGE 'The Material should be Fixed or Blocked but not both' TYPE 'E'.
ELSE.
MOVE W_DUMMY-FLIFN TO W_EORD-FLIFN.
MOVE W_DUMMY-NOTKZ TO W_EORD-NOTKZ.
ENDIF.
MOVE W_DUMMY-AUTET TO W_EORD-AUTET.
ENDIF.
APPEND W_EORD TO T_EORD.
CLEAR : W_DUMMY , W_MARC , W_EORD,W_EKKO, W_EKPO , W_T001W, W_LFM1, V_MATNR,
V_MEINS .
ENDLOOP.
ENDFORM.
" VALIDAING_DATA

You might also like