<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI for equipment creation in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160725#M120375</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am sending the total code of equipment creation through bapi. it includes class , charactries, and address details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;have look at the code it help full to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_IPSG_BAPI_IEO1 MESSAGE-ID Z3 LINE-SIZE 185 NO STANDARD PAGE&lt;/P&gt;&lt;P&gt;HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Program Name: Z_IPSG_BAPI_IEO1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Ref:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Author:  saleem.shaik&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date:    04/01/06&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Source Code Type: using bapi function modules&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*This Program is used to upload the Equipment details to SAP&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZIPSGIEBAPITOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-018 .&lt;/P&gt;&lt;P&gt;PARAMETERS: FLATFILE LIKE RLGRAP-FILENAME DEFAULT 'C:\Equipment.txt'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-027 .&lt;/P&gt;&lt;P&gt;PARAMETERS: P_EMAIL(50).                                    "D0086&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BL2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR FLATFILE.&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To upload data from flat file into internal table:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-BATCH = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM READ_FILE. " for background&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM UPLOAD_FILE. " for foreground&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE ITAB LINES SY-TFILL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Files with more than 10 records should not be processed online&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-TFILL &amp;gt; 10.&lt;/P&gt;&lt;P&gt;      MESSAGE E398(00) WITH TEXT-030.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM SET_CHANGE_FLAG.&lt;/P&gt;&lt;P&gt;  SORT ITAB .&lt;/P&gt;&lt;P&gt;  PERFORM CREATE_EQUIPMENT.&lt;/P&gt;&lt;P&gt;  PERFORM CHANGE_EQUIPMENT.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAYDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE :/60   C_HEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/10 'DATE:', SY-DATUM,  120 'Program Name:', SY-CPROG.&lt;/P&gt;&lt;P&gt;  WRITE :/10 'TIME:', SY-UZEIT,  120 'USER:', SY-UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE: /1(185).&lt;/P&gt;&lt;P&gt;  WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 4.&lt;/P&gt;&lt;P&gt;  WRITE : 1 SY-VLINE,&lt;/P&gt;&lt;P&gt;          2  'Equipment',&lt;/P&gt;&lt;P&gt;          13 SY-VLINE,&lt;/P&gt;&lt;P&gt;          14 'Material Number' COLOR 4,&lt;/P&gt;&lt;P&gt;          35 SY-VLINE,&lt;/P&gt;&lt;P&gt;          36 'Serial Number'  COLOR 4,&lt;/P&gt;&lt;P&gt;          67 SY-VLINE,&lt;/P&gt;&lt;P&gt;          68 'Functional Location' COLOR 4,&lt;/P&gt;&lt;P&gt;          103 SY-VLINE,&lt;/P&gt;&lt;P&gt;          104 'Success/Exception' COLOR 4,&lt;/P&gt;&lt;P&gt;          145 SY-VLINE,&lt;/P&gt;&lt;P&gt;          146 'Status',&lt;/P&gt;&lt;P&gt;          185 SY-VLINE.&lt;/P&gt;&lt;P&gt;  ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          FORM UPLOAD_FILE                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM UPLOAD_FILE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME            = FLATFILE&lt;/P&gt;&lt;P&gt;      FILETYPE            = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB            = ITAB&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      CONVERSION_ERROR    = 1&lt;/P&gt;&lt;P&gt;      FILE_OPEN_ERROR     = 2&lt;/P&gt;&lt;P&gt;      FILE_READ_ERROR     = 3&lt;/P&gt;&lt;P&gt;      INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;      INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;      NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;      UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;      OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; write : 'WS_UPLOAD return code : ',sy-subrc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-010.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-011.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-012.&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-014.&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-015.&lt;/P&gt;&lt;P&gt;      WHEN 7.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-016.&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-017.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'ERROR' .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UPLOAD_FILE&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FILENAME.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DEF_FILENAME     = SPACE&lt;/P&gt;&lt;P&gt;      DEF_PATH         = FLATFILE&lt;/P&gt;&lt;P&gt;      MASK             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;      MODE             = 'O'&lt;/P&gt;&lt;P&gt;      TITLE            = 'Choose file'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILENAME         = FLATFILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INV_WINSYS       = 1&lt;/P&gt;&lt;P&gt;      NO_BATCH         = 2&lt;/P&gt;&lt;P&gt;      SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;      SELECTION_ERROR  = 4&lt;/P&gt;&lt;P&gt;      OTHERS           = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_filename&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  set_change_flag&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SET_CHANGE_FLAG .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select all the equipment numbers for the material number serial number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Combination&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT EQUNR MATNR SERGE TPLNR DATBI EQUNR&lt;/P&gt;&lt;P&gt;  FROM V_EQUI&lt;/P&gt;&lt;P&gt;  INTO TABLE GT_EQUI&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN ITAB&lt;/P&gt;&lt;P&gt;  WHERE MATNR = ITAB-REFMA AND&lt;/P&gt;&lt;P&gt;        SERGE = ITAB-SERGE AND&lt;/P&gt;&lt;P&gt;        EQTYP = 'Z'        AND&lt;/P&gt;&lt;P&gt;        DATBI GT SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT OBJEK FROM KSSK&lt;/P&gt;&lt;P&gt;  INTO TABLE GT_KSSK&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN GT_EQUI&lt;/P&gt;&lt;P&gt;  WHERE OBJEK = GT_EQUI-OBJEK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT GT_EQUI BY EQUNR DATBI.&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_EQUI WITH KEY MATNR = ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                SERGE = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      ITAB-CHGFLG = 'X'.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set_change_flag&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SENDING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;ZMAIL      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SENDING USING ZMAIL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT SY-BATCH IS INITIAL.&lt;/P&gt;&lt;P&gt;  IF NOT ZMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_RECLIST-LINE = ZMAIL.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    GT_RECLIST-LINE = P_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND GT_RECLIST.&lt;/P&gt;&lt;P&gt;  CLEAR GT_RECLIST.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE GT_OBJTXT LINES SY-TFILL.&lt;/P&gt;&lt;P&gt;  CHECK SY-TFILL &amp;gt; 2.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_SEND_EMAIL_FROM_APP_SERVER_1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_SUBJECT       = C_HEAD&lt;/P&gt;&lt;P&gt;      I_SUPPRESS_COMM = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RECIPIENTS      = GT_RECLIST&lt;/P&gt;&lt;P&gt;      BODY_TEXT       = GT_OBJTXT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RECIPIENTS   = 1&lt;/P&gt;&lt;P&gt;      NO_TEXT         = 2&lt;/P&gt;&lt;P&gt;      IO_ERROR        = 3&lt;/P&gt;&lt;P&gt;      SEND_ERROR      = 4&lt;/P&gt;&lt;P&gt;      OTHERS          = 5.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH GT_OBJTXT.&lt;/P&gt;&lt;P&gt;  REFRESH GT_RECLIST.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "sendmail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM READ_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LT_FILES.&lt;/P&gt;&lt;P&gt;  REFRESH LT_FILES.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'ls -t' GV_SOURCE INTO LV_TCOM SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the directory for files&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL 'SYSTEM' ID 'COMMAND' FIELD LV_TCOM ID 'TAB'&lt;/P&gt;&lt;P&gt;                             FIELD LT_FILES-&lt;STRONG&gt;SYS&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;  DELETE LT_FILES WHERE FILE_NAME_PATH = 'archive'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF LT_FILES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read the files&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT LT_FILES.&lt;/P&gt;&lt;P&gt;    CLEAR GV_FILEPATH.&lt;/P&gt;&lt;P&gt;    CONCATENATE GV_SOURCE LT_FILES-FILE_NAME_PATH INTO GV_FILEPATH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if right files are there in right servers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CASE SY-SYSID.&lt;/P&gt;&lt;P&gt;      WHEN 'P01' OR 'NT2'. " EMEA&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'EM'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'PN1' OR 'NT1'. " Americas.&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'AM'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'PJ1' OR 'NT3'. " Asia Pacific.&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'AP'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move the file contents to internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    OPEN DATASET GV_FILEPATH IN TEXT MODE FOR INPUT.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-028 GV_FILEPATH INTO GT_OBJTXT&lt;/P&gt;&lt;P&gt;                                            SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET GV_FILEPATH INTO GV_STRING.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SPLIT GV_STRING AT GV_TAB_LIMIT INTO&lt;/P&gt;&lt;P&gt;                                      ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                      ITAB-IWERK&lt;/P&gt;&lt;P&gt;                                      ITAB-BEGRU&lt;/P&gt;&lt;P&gt;                                      ITAB-INVNR&lt;/P&gt;&lt;P&gt;                                      ITAB-EQART&lt;/P&gt;&lt;P&gt;                                      ITAB-HERST&lt;/P&gt;&lt;P&gt;                                      ITAB-TYPBZ&lt;/P&gt;&lt;P&gt;                                      ITAB-BAUJJ&lt;/P&gt;&lt;P&gt;                                      ITAB-BAUMM&lt;/P&gt;&lt;P&gt;                                      ITAB-MAPAR&lt;/P&gt;&lt;P&gt;                                      ITAB-SUBMT&lt;/P&gt;&lt;P&gt;                                      ITAB-TIDNR&lt;/P&gt;&lt;P&gt;                                      ITAB-SERGE&lt;/P&gt;&lt;P&gt;                                      ITAB-TPLNR&lt;/P&gt;&lt;P&gt;                                      ITAB-KLART&lt;/P&gt;&lt;P&gt;                                      ITAB-CLASS&lt;/P&gt;&lt;P&gt;                                      ITAB-MNAME&lt;/P&gt;&lt;P&gt;                                      ITAB-MWERT&lt;/P&gt;&lt;P&gt;                                      ITAB-STATUS&lt;/P&gt;&lt;P&gt;                                      ITAB-NAME1&lt;/P&gt;&lt;P&gt;                                      ITAB-NAME2&lt;/P&gt;&lt;P&gt;                                      ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;      APPEND ITAB.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'mv' GV_FILEPATH GV_DEST INTO LV_TCOM SEPARATED BY&lt;/P&gt;&lt;P&gt;    SPACE.&lt;/P&gt;&lt;P&gt;    CALL 'SYSTEM' ID 'COMMAND' FIELD LV_TCOM.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send mail to generic id if there are any errors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT GT_OBJTXT[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM SENDING USING P_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_EQUIPMENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB WHERE CHGFLG NE 'X'.&lt;/P&gt;&lt;P&gt;*****Create Equipment with Address Details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE PLTXT FROM IFLOTX INTO V_PLTXT WHERE TPLNR = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MAKTX  FROM MAKT INTO V_EQKTX&lt;/P&gt;&lt;P&gt;                             WHERE MATNR = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_TPLNR        = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-EQKTX = V_EQKTX.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-MATNR = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-IWERK = ITAB-IWERK.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-TIDNR = ITAB-TIDNR.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-SERGE = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-EQTYP = C_EQTYP.&lt;/P&gt;&lt;P&gt;    APPEND WA_EQUIP TO IT_EQUIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-NAME1 IS NOT INITIAL OR ITAB-NAME2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;      APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;      WA_ADDR-ADTEL_DATA[] = IT_ADTEL[].&lt;/P&gt;&lt;P&gt;      APPEND WA_ADDR TO IT_ADDR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CREATE_EQUIP'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_FL        = V_TPLNR&lt;/P&gt;&lt;P&gt;        IT_EQUIP    = IT_EQUIP&lt;/P&gt;&lt;P&gt;        IT_ADDR     = IT_ADDR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ET_MESSAGES = IT_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_MESSAGES INTO WA_MESSAGE.&lt;/P&gt;&lt;P&gt;      V_EQUNR = WA_MESSAGE-NEW_EQUIP.&lt;/P&gt;&lt;P&gt;      WA_MESSAGE1[] = WA_MESSAGE-MESSAGES[].&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-ZMAIL  = P_EMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-REFMA  = WA_MESSAGE-MATNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-SERGE  = WA_MESSAGE-SERIAL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;      IF  WA_MESSAGE1[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        LOOP AT WA_MESSAGE1 INTO WA_MESSAGE2.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-EXCEPT = WA_MESSAGE2-MESSAGE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF V_EQUNR IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;*********Ext The Equipment with Genral Details ***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-AUTHGRP      =  ITAB-BEGRU.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-AUTHGRP      =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-INVENTORY    =  ITAB-INVNR.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-INVENTORY    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-OBJECTTYPE   =  ITAB-EQART.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-OBJECTTYPE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANFACTURE   =  ITAB-HERST.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANFACTURE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANMODEL     =  ITAB-TYPBZ.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANMODEL     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTYEAR    =  ITAB-BAUJJ.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTYEAR    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTMONTH   =  ITAB-BAUMM.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTMONTH   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANPARNO     =  ITAB-MAPAR.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANPARNO     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTTYPE    =  ITAB-SUBMT.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTTYPE    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_EQUI_CHANGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          EQUIPMENT      = V_EQUNR&lt;/P&gt;&lt;P&gt;          DATA_GENERAL   = WA_DATA_GENERAL&lt;/P&gt;&lt;P&gt;          DATA_GENERALX  = WA_GENERAL_DATAX&lt;/P&gt;&lt;P&gt;          DATA_SPECIFIC  = WA_SPECIFIC_DATA&lt;/P&gt;&lt;P&gt;          DATA_SPECIFICX = WA_SPECIFIC_DATAX&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          RETURN         = IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF IT_RETURN[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT IT_RETURN.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-ZMAIL  = ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = IT_RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TYPE   = IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_RETURN WITH KEY TYPE = 'E'   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            WAIT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;      IF ITAB-CLASS IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_OBJECT     = V_EQUNR.&lt;/P&gt;&lt;P&gt;        V_CLASS_NEW  = ITAB-CLASS.&lt;/P&gt;&lt;P&gt;        V_CLASS_TYP  = ITAB-KLART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF ITAB-MNAME = 'INST_DATE'.&lt;/P&gt;&lt;P&gt;          V_DATE = ITAB-MWERT.&lt;/P&gt;&lt;P&gt;          WRITE V_DATE TO IT_CHAR-VALUE_CHAR..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IT_CHAR-CHARACT = ITAB-MNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND IT_CHAR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_OBJCL_CREATE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            OBJECTKEYNEW    = V_OBJECT&lt;/P&gt;&lt;P&gt;            OBJECTTABLENEW  = V_TABLE&lt;/P&gt;&lt;P&gt;            CLASSNUMNEW     = V_CLASS_NEW&lt;/P&gt;&lt;P&gt;            CLASSTYPENEW    = V_CLASS_TYP&lt;/P&gt;&lt;P&gt;            STATUS          = ' '&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ALLOCVALUESCHAR = IT_CHAR&lt;/P&gt;&lt;P&gt;            RETURN          = IT_RETCAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE IT_RETCAL WITH KEY TYPE = 'E' .&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              WAIT = 'X'.&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;        ELSE .&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        LOOP AT IT_RETCAL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-ZMAIL  = ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = IT_RETCAL-MESSAGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TYPE   = IT_RETCAL-TYPE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR :     WA_DATA_GENERAL,&lt;/P&gt;&lt;P&gt;                  WA_GENERAL_DATAX,&lt;/P&gt;&lt;P&gt;                  WA_SPECIFIC_DATA,&lt;/P&gt;&lt;P&gt;                  WA_SPECIFIC_DATAX,&lt;/P&gt;&lt;P&gt;                  WA_ADDR,&lt;/P&gt;&lt;P&gt;                  WA_EQUIP,&lt;/P&gt;&lt;P&gt;                  V_OBJECT,&lt;/P&gt;&lt;P&gt;                  V_EQKTX,&lt;/P&gt;&lt;P&gt;                  V_EQUNR,&lt;/P&gt;&lt;P&gt;                  V_DATE,&lt;/P&gt;&lt;P&gt;                  V_CLASS_NEW,&lt;/P&gt;&lt;P&gt;                  V_CLASS_TYP,&lt;/P&gt;&lt;P&gt;                  IT_CHAR,&lt;/P&gt;&lt;P&gt;                  IT_RETCAL,&lt;/P&gt;&lt;P&gt;                  IT_RETURN,&lt;/P&gt;&lt;P&gt;                  V_TPLNR,&lt;/P&gt;&lt;P&gt;                  IT_EQUIP,&lt;/P&gt;&lt;P&gt;                  IT_ADDR,&lt;/P&gt;&lt;P&gt;                  IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH :   IT_CHAR,&lt;/P&gt;&lt;P&gt;                  IT_RETCAL,&lt;/P&gt;&lt;P&gt;                  IT_RETURN,&lt;/P&gt;&lt;P&gt;                  IT_EQUIP,&lt;/P&gt;&lt;P&gt;                  IT_ADDR,&lt;/P&gt;&lt;P&gt;                  IT_ADDR1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  change_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Change the Equipment data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CHANGE_EQUIPMENT .&lt;/P&gt;&lt;P&gt;  DELETE ITAB WHERE CHGFLG NE 'X'.&lt;/P&gt;&lt;P&gt;  CHECK NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SORT ITAB  .&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; * For the material and serial number combination from the file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the equipment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE GT_EQUI WITH KEY MATNR = ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                SERGE = ITAB-SERGE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Equipment Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    V_EQUNR = GT_EQUI-EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;New Address Details( Building &amp;amp; Grid)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-NAME1 IS NOT INITIAL OR ITAB-NAME2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single iloan from equz into v_iloan where equnr = v_equnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            and EQLFN = c_eqlfn.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single adrnr from iloa  into v_address&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              where iloan = v_iloan.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT EQUNR ILOAN FROM EQUZ INTO TABLE IT_ILOAN&lt;/P&gt;&lt;P&gt;               WHERE EQUNR = V_EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_ILOAN.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ADRNR FROM ILOA  INTO V_ADDRESS&lt;/P&gt;&lt;P&gt;                           WHERE ILOAN = IT_ILOAN-ILOAN.&lt;/P&gt;&lt;P&gt;        IF V_ADDRESS IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF V_ADDRESS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE OBJNR FROM ITOB INTO&lt;/P&gt;&lt;P&gt;                   V_NEW_OBJNR WHERE EQUNR = V_EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE: V_TABLE              TO IT_AD_HANDLE_STR-TABLE,&lt;/P&gt;&lt;P&gt;              V_NEW_OBJNR          TO IT_AD_HANDLE_STR-OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE IT_AD_HANDLE_STR  TO V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_UPDATE_FLAG = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;        APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADTEL_DATA[] = IT_ADTEL[]. "Dummy structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRHANDLE    = V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDR1_TAB[]   = WA_ADDR-ADDR1_DATA[].&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADTEL_TAB[]   = WA_ADDR-ADTEL_DATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_MAINTAIN_COMPLETE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            UPDATEFLAG        = V_UPDATE_FLAG&lt;/P&gt;&lt;P&gt;            ADDR1_COMPLETE    = WA_COMPLETE_ADDRESS&lt;/P&gt;&lt;P&gt;            ADDRESS_GROUP     = V_PM01&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RETURNCODE        = V_RECODE&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ERROR_TABLE       = IT_ERROR_TAB&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR   = 1&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST = 2&lt;/P&gt;&lt;P&gt;            HANDLE_EXIST      = 3&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR    = 4&lt;/P&gt;&lt;P&gt;            OTHERS            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE:  SY-MANDT    TO IT_AD_REFKEY-MANDT,&lt;/P&gt;&lt;P&gt;               V_EQUNR     TO IT_AD_REFKEY-ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE: V_TABLE            TO IT_AD_REF-APPL_TABLE,&lt;/P&gt;&lt;P&gt;              V_EQUNR1            TO IT_AD_REF-APPL_FIELD,&lt;/P&gt;&lt;P&gt;              IT_AD_REFKEY       TO IT_AD_REF-APPL_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IT_AD_REF-ADDR_GROUP  = V_PM01.&lt;/P&gt;&lt;P&gt;        IT_AD_REF-OWNER       = TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE  IT_AD_HANDLE_STR     TO V_AD_HANDLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_NUMBER_GET'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_HANDLE           = V_AD_HANDLE&lt;/P&gt;&lt;P&gt;            ADDRESS_REFERENCE        = IT_AD_REF&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER           = V_NEW_ADDRESS&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ADDRESS_HANDLE_NOT_EXIST = 1&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR           = 2&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR          = 3&lt;/P&gt;&lt;P&gt;            OTHERS                   = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'ADDR_MEMORY_SAVE'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              EXECUTE_IN_UPDATE_TASK = TRUE&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              ADDRESS_NUMBER_MISSING = 1&lt;/P&gt;&lt;P&gt;              PERSON_NUMBER_MISSING  = 2&lt;/P&gt;&lt;P&gt;              INTERNAL_ERROR         = 3&lt;/P&gt;&lt;P&gt;              DATABASE_ERROR         = 4&lt;/P&gt;&lt;P&gt;              REFERENCE_MISSING      = 5&lt;/P&gt;&lt;P&gt;              OTHERS                 = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********Address Details&lt;/P&gt;&lt;P&gt;          WA_DATA_GENERAL-ADRNR = V_NEW_ADDRESS.&lt;/P&gt;&lt;P&gt;          WA_GENERAL_DATAX-ADRNR  = TRUE.&lt;/P&gt;&lt;P&gt;          WA_DATA_GENERAL-ADRNRI  = 'D'.&lt;/P&gt;&lt;P&gt;          WA_GENERAL_DATAX-ADRNRI = TRUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Existing address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRNUMBER =  V_ADDRESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_UPDATE_FLAG = 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;        APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADTEL_DATA[] = IT_ADTEL[]. "Dummy structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRHANDLE    = V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDR1_TAB[]   = WA_ADDR-ADDR1_DATA[].&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADTEL_TAB[]   = WA_ADDR-ADTEL_DATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_MAINTAIN_COMPLETE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            UPDATEFLAG        = V_UPDATE_FLAG&lt;/P&gt;&lt;P&gt;            ADDR1_COMPLETE    = WA_COMPLETE_ADDRESS&lt;/P&gt;&lt;P&gt;            ADDRESS_GROUP     = V_PM01&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RETURNCODE        = V_RECODE&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ERROR_TABLE       = IT_ERROR_TAB&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR   = 1&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST = 2&lt;/P&gt;&lt;P&gt;            HANDLE_EXIST      = 3&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR    = 4&lt;/P&gt;&lt;P&gt;            OTHERS            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_SINGLE_SAVE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER         = V_ADDRESS&lt;/P&gt;&lt;P&gt;            EXECUTE_IN_UPDATE_TASK = TRUE&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST      = 1&lt;/P&gt;&lt;P&gt;            PERSON_NOT_EXIST       = 2&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER_MISSING = 3&lt;/P&gt;&lt;P&gt;            REFERENCE_MISSING      = 4&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR         = 5&lt;/P&gt;&lt;P&gt;            DATABASE_ERROR         = 6&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR        = 7&lt;/P&gt;&lt;P&gt;            OTHERS                 = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*********************Change Equipment&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;Genral Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-AUTHGRP       =  ITAB-BEGRU.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-AUTHGRP      =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-PLANPLANT     =  ITAB-IWERK.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-PLANPLANT    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-INVENTORY     =  ITAB-INVNR.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-INVENTORY    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-OBJECTTYPE    =  ITAB-EQART.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-OBJECTTYPE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANFACTURE    =  ITAB-HERST.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANFACTURE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANMODEL      =  ITAB-TYPBZ.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANMODEL     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTYEAR     =  ITAB-BAUJJ.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTYEAR    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTMONTH    =  ITAB-BAUMM.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTMONTH   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANPARNO      =  ITAB-MAPAR.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANPARNO     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTTYPE     =  ITAB-SUBMT.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTTYPE    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;Technical identification number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_SPECIFIC_DATA-TECHID       = ITAB-TIDNR.&lt;/P&gt;&lt;P&gt;    WA_SPECIFIC_DATAX-TECHID      = TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_EQUI_CHANGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        EQUIPMENT      = V_EQUNR&lt;/P&gt;&lt;P&gt;        DATA_GENERAL   = WA_DATA_GENERAL&lt;/P&gt;&lt;P&gt;        DATA_GENERALX  = WA_GENERAL_DATAX&lt;/P&gt;&lt;P&gt;        DATA_SPECIFIC  = WA_SPECIFIC_DATA&lt;/P&gt;&lt;P&gt;        DATA_SPECIFICX = WA_SPECIFIC_DATAX&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        RETURN         = IT_RETURN.&lt;/P&gt;&lt;P&gt;    APPEND IT_RETURN.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE PLTXT FROM IFLOTX INTO V_PLTXT WHERE TPLNR = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF IT_RETURN IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-ZMAIL  =  ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-EXCEPT = IT_RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-TYPE   = IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-MODE   = V_CHAN.&lt;/P&gt;&lt;P&gt;        APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-ZMAIL  =  P_EMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TYPE   = 'S'.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-MODE   = V_CHAN.&lt;/P&gt;&lt;P&gt;      APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;      CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_RETURN WITH KEY TYPE = 'E'   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          WAIT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wait up to 2 seconds.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   read table gt_kssk with key objek = gt_equi-objek.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_OBJECT     = V_EQUNR.&lt;/P&gt;&lt;P&gt;    V_CLASS_NEW  = ITAB-CLASS.&lt;/P&gt;&lt;P&gt;    V_CLASS_TYP  = ITAB-KLART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-MNAME = 'INST_DATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_DATE = ITAB-MWERT.&lt;/P&gt;&lt;P&gt;      WRITE V_DATE TO IT_CHAR-VALUE_CHAR.&lt;/P&gt;&lt;P&gt;      IT_CHAR-CHARACT = ITAB-MNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_OBJCL_CHANGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          OBJECTKEY          = V_OBJECT&lt;/P&gt;&lt;P&gt;          OBJECTTABLE        = V_TABLE&lt;/P&gt;&lt;P&gt;          CLASSNUM           = V_CLASS_NEW&lt;/P&gt;&lt;P&gt;          CLASSTYPE          = V_CLASS_TYP&lt;/P&gt;&lt;P&gt;          STATUS             = '1'&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          ALLOCVALUESNUMNEW  = ALLOCVAL_NUM&lt;/P&gt;&lt;P&gt;          ALLOCVALUESCHARNEW = IT_CHAR&lt;/P&gt;&lt;P&gt;          ALLOCVALUESCURRNEW = ALLOCVAL_CURR&lt;/P&gt;&lt;P&gt;          RETURN             = IT_RETCAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            WAIT = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_RETCAL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-ZMAIL  =  ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-EXCEPT = IT_RETCAL-MESSAGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-TYPE   = IT_RETCAL-TYPE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;      CLEAR GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR :          WA_DATA_GENERAL,&lt;/P&gt;&lt;P&gt;                     WA_GENERAL_DATAX,&lt;/P&gt;&lt;P&gt;                     WA_SPECIFIC_DATA,&lt;/P&gt;&lt;P&gt;                     WA_SPECIFIC_DATAX,&lt;/P&gt;&lt;P&gt;                     WA_ADDR,&lt;/P&gt;&lt;P&gt;                     WA_EQUIP,&lt;/P&gt;&lt;P&gt;                     V_OBJECT,&lt;/P&gt;&lt;P&gt;                     V_EQKTX,&lt;/P&gt;&lt;P&gt;                     V_EQUNR,&lt;/P&gt;&lt;P&gt;                     V_DATE,&lt;/P&gt;&lt;P&gt;                     V_CLASS_NEW,&lt;/P&gt;&lt;P&gt;                     V_CLASS_TYP,&lt;/P&gt;&lt;P&gt;                      V_ILOAN,&lt;/P&gt;&lt;P&gt;                     V_NEW_ADDRESS,&lt;/P&gt;&lt;P&gt;                     V_AD_HANDLE,&lt;/P&gt;&lt;P&gt;                     IT_CHAR,&lt;/P&gt;&lt;P&gt;                     IT_RETCAL,&lt;/P&gt;&lt;P&gt;                     IT_RETURN,&lt;/P&gt;&lt;P&gt;                     V_TPLNR,&lt;/P&gt;&lt;P&gt;                     IT_EQUIP,&lt;/P&gt;&lt;P&gt;                     IT_ADDR,&lt;/P&gt;&lt;P&gt;                     IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH :   IT_CHAR,&lt;/P&gt;&lt;P&gt;                IT_RETCAL,&lt;/P&gt;&lt;P&gt;                IT_RETURN,&lt;/P&gt;&lt;P&gt;                IT_EQUIP,&lt;/P&gt;&lt;P&gt;                IT_ADDR,&lt;/P&gt;&lt;P&gt;                IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  displaydata&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAYDATA .&lt;/P&gt;&lt;P&gt;  LOOP AT GT_EQUTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF GT_EQUTAB-MODE = V_CRE.&lt;/P&gt;&lt;P&gt;      READ TABLE GT_EQUTAB1 WITH KEY EQUNR = GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                                      TYPE =  'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-036.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-035.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB1-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = TEXT-036.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        ULINE: 1(185).&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;        WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                2   GT_EQUTAB-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                14  GT_EQUTAB-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                36  GT_EQUTAB-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                68  GT_EQUTAB-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                104 GT_EQUTAB-EXCEPT,&lt;/P&gt;&lt;P&gt;                145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                146 GT_EQUTAB-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                185 SY-VLINE.&lt;/P&gt;&lt;P&gt;        ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-STATUS = TEXT-035.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB1-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = TEXT-035.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        LOOP AT GT_EQUTAB1 WHERE EQUNR = GT_EQUTAB-EQUNR.&lt;/P&gt;&lt;P&gt;          ULINE: 1(185).&lt;/P&gt;&lt;P&gt;          WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;          WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                  2   GT_EQUTAB1-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                  13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  14  GT_EQUTAB1-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                  35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  36  GT_EQUTAB1-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                  67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  68  GT_EQUTAB1-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                  103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  104 GT_EQUTAB1-EXCEPT,&lt;/P&gt;&lt;P&gt;                  145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  146 GT_EQUTAB1-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                  185 SY-VLINE.&lt;/P&gt;&lt;P&gt;          ULINE:/1(185).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE GT_EQUTAB1 WITH KEY EQUNR = GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                                      TYPE =  'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-038.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-037.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-EXCEPT = TEXT-038.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        ULINE: 1(185).&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;        WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                2   GT_EQUTAB-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                14  GT_EQUTAB-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                36  GT_EQUTAB-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                68  GT_EQUTAB-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                104 GT_EQUTAB-EXCEPT,&lt;/P&gt;&lt;P&gt;                145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                146 GT_EQUTAB-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                185 SY-VLINE.&lt;/P&gt;&lt;P&gt;        ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB1-STATUS = TEXT-037.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB1-EXCEPT = TEXT-037.&lt;/P&gt;&lt;P&gt;        LOOP AT GT_EQUTAB1 WHERE EQUNR = GT_EQUTAB-EQUNR.&lt;/P&gt;&lt;P&gt;          ULINE: 1(185).&lt;/P&gt;&lt;P&gt;          WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;          WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                  2   GT_EQUTAB1-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                  13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  14  GT_EQUTAB1-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                  35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  36  GT_EQUTAB1-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                  67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  68  GT_EQUTAB1-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                  103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  104 GT_EQUTAB1-EXCEPT,&lt;/P&gt;&lt;P&gt;                  145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  146 GT_EQUTAB1-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                  185 SY-VLINE.&lt;/P&gt;&lt;P&gt;          ULINE:/1(185).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW ZMAIL.&lt;/P&gt;&lt;P&gt;      GT_OBJTXT = TEXT-020.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                TEXT-032 GT_EQUTAB-REFMA&lt;/P&gt;&lt;P&gt;                TEXT-033 GT_EQUTAB-SERGE&lt;/P&gt;&lt;P&gt;                TEXT-034 GT_EQUTAB-TPLNR  '-'&lt;/P&gt;&lt;P&gt;                GT_EQUTAB-EXCEPT&lt;/P&gt;&lt;P&gt;                INTO GT_OBJTXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;    CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF ZMAIL.&lt;/P&gt;&lt;P&gt;      PERFORM SENDING USING GT_EQUTAB-ZMAIL.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " displaydata&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;code includes all details for equipment . if you have any dout mail me to shaik0079@yahoo.com&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Feb 2006 07:44:10 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-02-03T07:44:10Z</dc:date>
    <item>
      <title>BAPI for equipment creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160723#M120373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;   Can anybody let me know the required fields for the bapi - BAPI_EQUI_CREATE.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2006 05:51:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160723#M120373</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-03T05:51:11Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI for equipment creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160724#M120374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try the follwing links:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.4ap.de/abap/equipments.php" target="test_blank"&gt;http://www.4ap.de/abap/equipments.php&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_EQUIPMENT_MASTER_UPLOAD.html" target="test_blank"&gt;http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_EQUIPMENT_MASTER_UPLOAD.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards &lt;/P&gt;&lt;P&gt;Timo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2006 06:37:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160724#M120374</guid>
      <dc:creator>timo_wendt</dc:creator>
      <dc:date>2006-02-03T06:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI for equipment creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160725#M120375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am sending the total code of equipment creation through bapi. it includes class , charactries, and address details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;have look at the code it help full to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_IPSG_BAPI_IEO1 MESSAGE-ID Z3 LINE-SIZE 185 NO STANDARD PAGE&lt;/P&gt;&lt;P&gt;HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Program Name: Z_IPSG_BAPI_IEO1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Ref:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Author:  saleem.shaik&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date:    04/01/06&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Source Code Type: using bapi function modules&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*This Program is used to upload the Equipment details to SAP&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZIPSGIEBAPITOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-018 .&lt;/P&gt;&lt;P&gt;PARAMETERS: FLATFILE LIKE RLGRAP-FILENAME DEFAULT 'C:\Equipment.txt'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-027 .&lt;/P&gt;&lt;P&gt;PARAMETERS: P_EMAIL(50).                                    "D0086&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BL2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR FLATFILE.&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To upload data from flat file into internal table:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-BATCH = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM READ_FILE. " for background&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM UPLOAD_FILE. " for foreground&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE ITAB LINES SY-TFILL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Files with more than 10 records should not be processed online&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-TFILL &amp;gt; 10.&lt;/P&gt;&lt;P&gt;      MESSAGE E398(00) WITH TEXT-030.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM SET_CHANGE_FLAG.&lt;/P&gt;&lt;P&gt;  SORT ITAB .&lt;/P&gt;&lt;P&gt;  PERFORM CREATE_EQUIPMENT.&lt;/P&gt;&lt;P&gt;  PERFORM CHANGE_EQUIPMENT.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAYDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE :/60   C_HEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/10 'DATE:', SY-DATUM,  120 'Program Name:', SY-CPROG.&lt;/P&gt;&lt;P&gt;  WRITE :/10 'TIME:', SY-UZEIT,  120 'USER:', SY-UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE: /1(185).&lt;/P&gt;&lt;P&gt;  WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 4.&lt;/P&gt;&lt;P&gt;  WRITE : 1 SY-VLINE,&lt;/P&gt;&lt;P&gt;          2  'Equipment',&lt;/P&gt;&lt;P&gt;          13 SY-VLINE,&lt;/P&gt;&lt;P&gt;          14 'Material Number' COLOR 4,&lt;/P&gt;&lt;P&gt;          35 SY-VLINE,&lt;/P&gt;&lt;P&gt;          36 'Serial Number'  COLOR 4,&lt;/P&gt;&lt;P&gt;          67 SY-VLINE,&lt;/P&gt;&lt;P&gt;          68 'Functional Location' COLOR 4,&lt;/P&gt;&lt;P&gt;          103 SY-VLINE,&lt;/P&gt;&lt;P&gt;          104 'Success/Exception' COLOR 4,&lt;/P&gt;&lt;P&gt;          145 SY-VLINE,&lt;/P&gt;&lt;P&gt;          146 'Status',&lt;/P&gt;&lt;P&gt;          185 SY-VLINE.&lt;/P&gt;&lt;P&gt;  ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          FORM UPLOAD_FILE                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM UPLOAD_FILE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME            = FLATFILE&lt;/P&gt;&lt;P&gt;      FILETYPE            = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB            = ITAB&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      CONVERSION_ERROR    = 1&lt;/P&gt;&lt;P&gt;      FILE_OPEN_ERROR     = 2&lt;/P&gt;&lt;P&gt;      FILE_READ_ERROR     = 3&lt;/P&gt;&lt;P&gt;      INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;      INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;      NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;      UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;      OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; write : 'WS_UPLOAD return code : ',sy-subrc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-010.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-011.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-012.&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-014.&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-015.&lt;/P&gt;&lt;P&gt;      WHEN 7.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-016.&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;        MESSAGE A099 WITH TEXT-017.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'ERROR' .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UPLOAD_FILE&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FILENAME.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DEF_FILENAME     = SPACE&lt;/P&gt;&lt;P&gt;      DEF_PATH         = FLATFILE&lt;/P&gt;&lt;P&gt;      MASK             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;      MODE             = 'O'&lt;/P&gt;&lt;P&gt;      TITLE            = 'Choose file'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILENAME         = FLATFILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INV_WINSYS       = 1&lt;/P&gt;&lt;P&gt;      NO_BATCH         = 2&lt;/P&gt;&lt;P&gt;      SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;      SELECTION_ERROR  = 4&lt;/P&gt;&lt;P&gt;      OTHERS           = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_filename&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  set_change_flag&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SET_CHANGE_FLAG .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select all the equipment numbers for the material number serial number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Combination&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT EQUNR MATNR SERGE TPLNR DATBI EQUNR&lt;/P&gt;&lt;P&gt;  FROM V_EQUI&lt;/P&gt;&lt;P&gt;  INTO TABLE GT_EQUI&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN ITAB&lt;/P&gt;&lt;P&gt;  WHERE MATNR = ITAB-REFMA AND&lt;/P&gt;&lt;P&gt;        SERGE = ITAB-SERGE AND&lt;/P&gt;&lt;P&gt;        EQTYP = 'Z'        AND&lt;/P&gt;&lt;P&gt;        DATBI GT SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT OBJEK FROM KSSK&lt;/P&gt;&lt;P&gt;  INTO TABLE GT_KSSK&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN GT_EQUI&lt;/P&gt;&lt;P&gt;  WHERE OBJEK = GT_EQUI-OBJEK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT GT_EQUI BY EQUNR DATBI.&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_EQUI WITH KEY MATNR = ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                SERGE = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      ITAB-CHGFLG = 'X'.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set_change_flag&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SENDING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;ZMAIL      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SENDING USING ZMAIL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT SY-BATCH IS INITIAL.&lt;/P&gt;&lt;P&gt;  IF NOT ZMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_RECLIST-LINE = ZMAIL.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    GT_RECLIST-LINE = P_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND GT_RECLIST.&lt;/P&gt;&lt;P&gt;  CLEAR GT_RECLIST.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE GT_OBJTXT LINES SY-TFILL.&lt;/P&gt;&lt;P&gt;  CHECK SY-TFILL &amp;gt; 2.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_SEND_EMAIL_FROM_APP_SERVER_1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_SUBJECT       = C_HEAD&lt;/P&gt;&lt;P&gt;      I_SUPPRESS_COMM = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RECIPIENTS      = GT_RECLIST&lt;/P&gt;&lt;P&gt;      BODY_TEXT       = GT_OBJTXT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RECIPIENTS   = 1&lt;/P&gt;&lt;P&gt;      NO_TEXT         = 2&lt;/P&gt;&lt;P&gt;      IO_ERROR        = 3&lt;/P&gt;&lt;P&gt;      SEND_ERROR      = 4&lt;/P&gt;&lt;P&gt;      OTHERS          = 5.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH GT_OBJTXT.&lt;/P&gt;&lt;P&gt;  REFRESH GT_RECLIST.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "sendmail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM READ_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LT_FILES.&lt;/P&gt;&lt;P&gt;  REFRESH LT_FILES.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'ls -t' GV_SOURCE INTO LV_TCOM SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the directory for files&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL 'SYSTEM' ID 'COMMAND' FIELD LV_TCOM ID 'TAB'&lt;/P&gt;&lt;P&gt;                             FIELD LT_FILES-&lt;STRONG&gt;SYS&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;  DELETE LT_FILES WHERE FILE_NAME_PATH = 'archive'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF LT_FILES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read the files&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT LT_FILES.&lt;/P&gt;&lt;P&gt;    CLEAR GV_FILEPATH.&lt;/P&gt;&lt;P&gt;    CONCATENATE GV_SOURCE LT_FILES-FILE_NAME_PATH INTO GV_FILEPATH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if right files are there in right servers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CASE SY-SYSID.&lt;/P&gt;&lt;P&gt;      WHEN 'P01' OR 'NT2'. " EMEA&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'EM'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'PN1' OR 'NT1'. " Americas.&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'AM'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'PJ1' OR 'NT3'. " Asia Pacific.&lt;/P&gt;&lt;P&gt;        IF LT_FILES-FILE_NAME_PATH+0(2) NE 'AP'.&lt;/P&gt;&lt;P&gt;         CONCATENATE LT_FILES-FILE_NAME_PATH TEXT-024 SY-SYSID TEXT-029&lt;/P&gt;&lt;P&gt;                                      INTO GT_OBJTXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;          APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move the file contents to internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    OPEN DATASET GV_FILEPATH IN TEXT MODE FOR INPUT.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-028 GV_FILEPATH INTO GT_OBJTXT&lt;/P&gt;&lt;P&gt;                                            SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET GV_FILEPATH INTO GV_STRING.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SPLIT GV_STRING AT GV_TAB_LIMIT INTO&lt;/P&gt;&lt;P&gt;                                      ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                      ITAB-IWERK&lt;/P&gt;&lt;P&gt;                                      ITAB-BEGRU&lt;/P&gt;&lt;P&gt;                                      ITAB-INVNR&lt;/P&gt;&lt;P&gt;                                      ITAB-EQART&lt;/P&gt;&lt;P&gt;                                      ITAB-HERST&lt;/P&gt;&lt;P&gt;                                      ITAB-TYPBZ&lt;/P&gt;&lt;P&gt;                                      ITAB-BAUJJ&lt;/P&gt;&lt;P&gt;                                      ITAB-BAUMM&lt;/P&gt;&lt;P&gt;                                      ITAB-MAPAR&lt;/P&gt;&lt;P&gt;                                      ITAB-SUBMT&lt;/P&gt;&lt;P&gt;                                      ITAB-TIDNR&lt;/P&gt;&lt;P&gt;                                      ITAB-SERGE&lt;/P&gt;&lt;P&gt;                                      ITAB-TPLNR&lt;/P&gt;&lt;P&gt;                                      ITAB-KLART&lt;/P&gt;&lt;P&gt;                                      ITAB-CLASS&lt;/P&gt;&lt;P&gt;                                      ITAB-MNAME&lt;/P&gt;&lt;P&gt;                                      ITAB-MWERT&lt;/P&gt;&lt;P&gt;                                      ITAB-STATUS&lt;/P&gt;&lt;P&gt;                                      ITAB-NAME1&lt;/P&gt;&lt;P&gt;                                      ITAB-NAME2&lt;/P&gt;&lt;P&gt;                                      ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;      APPEND ITAB.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'mv' GV_FILEPATH GV_DEST INTO LV_TCOM SEPARATED BY&lt;/P&gt;&lt;P&gt;    SPACE.&lt;/P&gt;&lt;P&gt;    CALL 'SYSTEM' ID 'COMMAND' FIELD LV_TCOM.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send mail to generic id if there are any errors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT GT_OBJTXT[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM SENDING USING P_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_EQUIPMENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB WHERE CHGFLG NE 'X'.&lt;/P&gt;&lt;P&gt;*****Create Equipment with Address Details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE PLTXT FROM IFLOTX INTO V_PLTXT WHERE TPLNR = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MAKTX  FROM MAKT INTO V_EQKTX&lt;/P&gt;&lt;P&gt;                             WHERE MATNR = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_TPLNR        = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-EQKTX = V_EQKTX.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-MATNR = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-IWERK = ITAB-IWERK.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-TIDNR = ITAB-TIDNR.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-SERGE = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;    WA_EQUIP-EQTYP = C_EQTYP.&lt;/P&gt;&lt;P&gt;    APPEND WA_EQUIP TO IT_EQUIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-NAME1 IS NOT INITIAL OR ITAB-NAME2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;      IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;      APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;      WA_ADDR-ADTEL_DATA[] = IT_ADTEL[].&lt;/P&gt;&lt;P&gt;      APPEND WA_ADDR TO IT_ADDR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CREATE_EQUIP'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_FL        = V_TPLNR&lt;/P&gt;&lt;P&gt;        IT_EQUIP    = IT_EQUIP&lt;/P&gt;&lt;P&gt;        IT_ADDR     = IT_ADDR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ET_MESSAGES = IT_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_MESSAGES INTO WA_MESSAGE.&lt;/P&gt;&lt;P&gt;      V_EQUNR = WA_MESSAGE-NEW_EQUIP.&lt;/P&gt;&lt;P&gt;      WA_MESSAGE1[] = WA_MESSAGE-MESSAGES[].&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-ZMAIL  = P_EMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-REFMA  = WA_MESSAGE-MATNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-SERGE  = WA_MESSAGE-SERIAL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;      IF  WA_MESSAGE1[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        LOOP AT WA_MESSAGE1 INTO WA_MESSAGE2.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-EXCEPT = WA_MESSAGE2-MESSAGE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF V_EQUNR IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;*********Ext The Equipment with Genral Details ***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-AUTHGRP      =  ITAB-BEGRU.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-AUTHGRP      =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-INVENTORY    =  ITAB-INVNR.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-INVENTORY    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-OBJECTTYPE   =  ITAB-EQART.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-OBJECTTYPE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANFACTURE   =  ITAB-HERST.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANFACTURE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANMODEL     =  ITAB-TYPBZ.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANMODEL     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTYEAR    =  ITAB-BAUJJ.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTYEAR    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTMONTH   =  ITAB-BAUMM.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTMONTH   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-MANPARNO     =  ITAB-MAPAR.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-MANPARNO     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_DATA_GENERAL-CONSTTYPE    =  ITAB-SUBMT.&lt;/P&gt;&lt;P&gt;      WA_GENERAL_DATAX-CONSTTYPE    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_EQUI_CHANGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          EQUIPMENT      = V_EQUNR&lt;/P&gt;&lt;P&gt;          DATA_GENERAL   = WA_DATA_GENERAL&lt;/P&gt;&lt;P&gt;          DATA_GENERALX  = WA_GENERAL_DATAX&lt;/P&gt;&lt;P&gt;          DATA_SPECIFIC  = WA_SPECIFIC_DATA&lt;/P&gt;&lt;P&gt;          DATA_SPECIFICX = WA_SPECIFIC_DATAX&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          RETURN         = IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF IT_RETURN[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT IT_RETURN.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-ZMAIL  = ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = IT_RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TYPE   = IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_RETURN WITH KEY TYPE = 'E'   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            WAIT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;      IF ITAB-CLASS IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_OBJECT     = V_EQUNR.&lt;/P&gt;&lt;P&gt;        V_CLASS_NEW  = ITAB-CLASS.&lt;/P&gt;&lt;P&gt;        V_CLASS_TYP  = ITAB-KLART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF ITAB-MNAME = 'INST_DATE'.&lt;/P&gt;&lt;P&gt;          V_DATE = ITAB-MWERT.&lt;/P&gt;&lt;P&gt;          WRITE V_DATE TO IT_CHAR-VALUE_CHAR..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IT_CHAR-CHARACT = ITAB-MNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND IT_CHAR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_OBJCL_CREATE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            OBJECTKEYNEW    = V_OBJECT&lt;/P&gt;&lt;P&gt;            OBJECTTABLENEW  = V_TABLE&lt;/P&gt;&lt;P&gt;            CLASSNUMNEW     = V_CLASS_NEW&lt;/P&gt;&lt;P&gt;            CLASSTYPENEW    = V_CLASS_TYP&lt;/P&gt;&lt;P&gt;            STATUS          = ' '&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ALLOCVALUESCHAR = IT_CHAR&lt;/P&gt;&lt;P&gt;            RETURN          = IT_RETCAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE IT_RETCAL WITH KEY TYPE = 'E' .&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              WAIT = 'X'.&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;        ELSE .&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        LOOP AT IT_RETCAL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EQUNR  = V_EQUNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-ZMAIL  = ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = IT_RETCAL-MESSAGE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-TYPE   = IT_RETCAL-TYPE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-MODE   = V_CRE.&lt;/P&gt;&lt;P&gt;          APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;          CLEAR GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR :     WA_DATA_GENERAL,&lt;/P&gt;&lt;P&gt;                  WA_GENERAL_DATAX,&lt;/P&gt;&lt;P&gt;                  WA_SPECIFIC_DATA,&lt;/P&gt;&lt;P&gt;                  WA_SPECIFIC_DATAX,&lt;/P&gt;&lt;P&gt;                  WA_ADDR,&lt;/P&gt;&lt;P&gt;                  WA_EQUIP,&lt;/P&gt;&lt;P&gt;                  V_OBJECT,&lt;/P&gt;&lt;P&gt;                  V_EQKTX,&lt;/P&gt;&lt;P&gt;                  V_EQUNR,&lt;/P&gt;&lt;P&gt;                  V_DATE,&lt;/P&gt;&lt;P&gt;                  V_CLASS_NEW,&lt;/P&gt;&lt;P&gt;                  V_CLASS_TYP,&lt;/P&gt;&lt;P&gt;                  IT_CHAR,&lt;/P&gt;&lt;P&gt;                  IT_RETCAL,&lt;/P&gt;&lt;P&gt;                  IT_RETURN,&lt;/P&gt;&lt;P&gt;                  V_TPLNR,&lt;/P&gt;&lt;P&gt;                  IT_EQUIP,&lt;/P&gt;&lt;P&gt;                  IT_ADDR,&lt;/P&gt;&lt;P&gt;                  IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH :   IT_CHAR,&lt;/P&gt;&lt;P&gt;                  IT_RETCAL,&lt;/P&gt;&lt;P&gt;                  IT_RETURN,&lt;/P&gt;&lt;P&gt;                  IT_EQUIP,&lt;/P&gt;&lt;P&gt;                  IT_ADDR,&lt;/P&gt;&lt;P&gt;                  IT_ADDR1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  change_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Change the Equipment data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CHANGE_EQUIPMENT .&lt;/P&gt;&lt;P&gt;  DELETE ITAB WHERE CHGFLG NE 'X'.&lt;/P&gt;&lt;P&gt;  CHECK NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SORT ITAB  .&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; * For the material and serial number combination from the file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the equipment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE GT_EQUI WITH KEY MATNR = ITAB-REFMA&lt;/P&gt;&lt;P&gt;                                SERGE = ITAB-SERGE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Equipment Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    V_EQUNR = GT_EQUI-EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;New Address Details( Building &amp;amp; Grid)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-NAME1 IS NOT INITIAL OR ITAB-NAME2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single iloan from equz into v_iloan where equnr = v_equnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            and EQLFN = c_eqlfn.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single adrnr from iloa  into v_address&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              where iloan = v_iloan.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT EQUNR ILOAN FROM EQUZ INTO TABLE IT_ILOAN&lt;/P&gt;&lt;P&gt;               WHERE EQUNR = V_EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_ILOAN.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ADRNR FROM ILOA  INTO V_ADDRESS&lt;/P&gt;&lt;P&gt;                           WHERE ILOAN = IT_ILOAN-ILOAN.&lt;/P&gt;&lt;P&gt;        IF V_ADDRESS IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF V_ADDRESS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE OBJNR FROM ITOB INTO&lt;/P&gt;&lt;P&gt;                   V_NEW_OBJNR WHERE EQUNR = V_EQUNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE: V_TABLE              TO IT_AD_HANDLE_STR-TABLE,&lt;/P&gt;&lt;P&gt;              V_NEW_OBJNR          TO IT_AD_HANDLE_STR-OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE IT_AD_HANDLE_STR  TO V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_UPDATE_FLAG = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;        APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADTEL_DATA[] = IT_ADTEL[]. "Dummy structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRHANDLE    = V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDR1_TAB[]   = WA_ADDR-ADDR1_DATA[].&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADTEL_TAB[]   = WA_ADDR-ADTEL_DATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_MAINTAIN_COMPLETE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            UPDATEFLAG        = V_UPDATE_FLAG&lt;/P&gt;&lt;P&gt;            ADDR1_COMPLETE    = WA_COMPLETE_ADDRESS&lt;/P&gt;&lt;P&gt;            ADDRESS_GROUP     = V_PM01&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RETURNCODE        = V_RECODE&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ERROR_TABLE       = IT_ERROR_TAB&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR   = 1&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST = 2&lt;/P&gt;&lt;P&gt;            HANDLE_EXIST      = 3&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR    = 4&lt;/P&gt;&lt;P&gt;            OTHERS            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE:  SY-MANDT    TO IT_AD_REFKEY-MANDT,&lt;/P&gt;&lt;P&gt;               V_EQUNR     TO IT_AD_REFKEY-ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE: V_TABLE            TO IT_AD_REF-APPL_TABLE,&lt;/P&gt;&lt;P&gt;              V_EQUNR1            TO IT_AD_REF-APPL_FIELD,&lt;/P&gt;&lt;P&gt;              IT_AD_REFKEY       TO IT_AD_REF-APPL_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IT_AD_REF-ADDR_GROUP  = V_PM01.&lt;/P&gt;&lt;P&gt;        IT_AD_REF-OWNER       = TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE  IT_AD_HANDLE_STR     TO V_AD_HANDLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_NUMBER_GET'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_HANDLE           = V_AD_HANDLE&lt;/P&gt;&lt;P&gt;            ADDRESS_REFERENCE        = IT_AD_REF&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER           = V_NEW_ADDRESS&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ADDRESS_HANDLE_NOT_EXIST = 1&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR           = 2&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR          = 3&lt;/P&gt;&lt;P&gt;            OTHERS                   = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'ADDR_MEMORY_SAVE'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              EXECUTE_IN_UPDATE_TASK = TRUE&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              ADDRESS_NUMBER_MISSING = 1&lt;/P&gt;&lt;P&gt;              PERSON_NUMBER_MISSING  = 2&lt;/P&gt;&lt;P&gt;              INTERNAL_ERROR         = 3&lt;/P&gt;&lt;P&gt;              DATABASE_ERROR         = 4&lt;/P&gt;&lt;P&gt;              REFERENCE_MISSING      = 5&lt;/P&gt;&lt;P&gt;              OTHERS                 = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********Address Details&lt;/P&gt;&lt;P&gt;          WA_DATA_GENERAL-ADRNR = V_NEW_ADDRESS.&lt;/P&gt;&lt;P&gt;          WA_GENERAL_DATAX-ADRNR  = TRUE.&lt;/P&gt;&lt;P&gt;          WA_DATA_GENERAL-ADRNRI  = 'D'.&lt;/P&gt;&lt;P&gt;          WA_GENERAL_DATAX-ADRNRI = TRUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Existing address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRNUMBER =  V_ADDRESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        V_UPDATE_FLAG = 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single land1  from t001w into v_country&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          where werks = itab-iwerk. "Get Country Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME1   = ITAB-NAME1.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-NAME2   = ITAB-NAME2.&lt;/P&gt;&lt;P&gt;        IT_ADDR1-DATA-COUNTRY = V_COUNTRY.&lt;/P&gt;&lt;P&gt;        APPEND IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADDR1_DATA[] = IT_ADDR1[].&lt;/P&gt;&lt;P&gt;        WA_ADDR-ADTEL_DATA[] = IT_ADTEL[]. "Dummy structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDRHANDLE    = V_ADDRESS_HANDLE.&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADDR1_TAB[]   = WA_ADDR-ADDR1_DATA[].&lt;/P&gt;&lt;P&gt;        WA_COMPLETE_ADDRESS-ADTEL_TAB[]   = WA_ADDR-ADTEL_DATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_MAINTAIN_COMPLETE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            UPDATEFLAG        = V_UPDATE_FLAG&lt;/P&gt;&lt;P&gt;            ADDR1_COMPLETE    = WA_COMPLETE_ADDRESS&lt;/P&gt;&lt;P&gt;            ADDRESS_GROUP     = V_PM01&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RETURNCODE        = V_RECODE&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            ERROR_TABLE       = IT_ERROR_TAB&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR   = 1&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST = 2&lt;/P&gt;&lt;P&gt;            HANDLE_EXIST      = 3&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR    = 4&lt;/P&gt;&lt;P&gt;            OTHERS            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'ADDR_SINGLE_SAVE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER         = V_ADDRESS&lt;/P&gt;&lt;P&gt;            EXECUTE_IN_UPDATE_TASK = TRUE&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ADDRESS_NOT_EXIST      = 1&lt;/P&gt;&lt;P&gt;            PERSON_NOT_EXIST       = 2&lt;/P&gt;&lt;P&gt;            ADDRESS_NUMBER_MISSING = 3&lt;/P&gt;&lt;P&gt;            REFERENCE_MISSING      = 4&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR         = 5&lt;/P&gt;&lt;P&gt;            DATABASE_ERROR         = 6&lt;/P&gt;&lt;P&gt;            PARAMETER_ERROR        = 7&lt;/P&gt;&lt;P&gt;            OTHERS                 = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*********************Change Equipment&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;Genral Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-AUTHGRP       =  ITAB-BEGRU.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-AUTHGRP      =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-PLANPLANT     =  ITAB-IWERK.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-PLANPLANT    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-INVENTORY     =  ITAB-INVNR.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-INVENTORY    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-OBJECTTYPE    =  ITAB-EQART.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-OBJECTTYPE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANFACTURE    =  ITAB-HERST.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANFACTURE   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANMODEL      =  ITAB-TYPBZ.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANMODEL     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTYEAR     =  ITAB-BAUJJ.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTYEAR    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTMONTH    =  ITAB-BAUMM.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTMONTH   =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-MANPARNO      =  ITAB-MAPAR.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-MANPARNO     =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_DATA_GENERAL-CONSTTYPE     =  ITAB-SUBMT.&lt;/P&gt;&lt;P&gt;    WA_GENERAL_DATAX-CONSTTYPE    =  TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;Technical identification number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_SPECIFIC_DATA-TECHID       = ITAB-TIDNR.&lt;/P&gt;&lt;P&gt;    WA_SPECIFIC_DATAX-TECHID      = TRUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_EQUI_CHANGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        EQUIPMENT      = V_EQUNR&lt;/P&gt;&lt;P&gt;        DATA_GENERAL   = WA_DATA_GENERAL&lt;/P&gt;&lt;P&gt;        DATA_GENERALX  = WA_GENERAL_DATAX&lt;/P&gt;&lt;P&gt;        DATA_SPECIFIC  = WA_SPECIFIC_DATA&lt;/P&gt;&lt;P&gt;        DATA_SPECIFICX = WA_SPECIFIC_DATAX&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        RETURN         = IT_RETURN.&lt;/P&gt;&lt;P&gt;    APPEND IT_RETURN.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE PLTXT FROM IFLOTX INTO V_PLTXT WHERE TPLNR = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF IT_RETURN IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-ZMAIL  =  ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-EXCEPT = IT_RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-TYPE   = IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-MODE   = V_CHAN.&lt;/P&gt;&lt;P&gt;        APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;        CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-ZMAIL  =  P_EMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-TYPE   = 'S'.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB-MODE   = V_CHAN.&lt;/P&gt;&lt;P&gt;      APPEND GT_EQUTAB.&lt;/P&gt;&lt;P&gt;      CLEAR GT_EQUTAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_RETURN WITH KEY TYPE = 'E'   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          WAIT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wait up to 2 seconds.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   read table gt_kssk with key objek = gt_equi-objek.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_OBJECT     = V_EQUNR.&lt;/P&gt;&lt;P&gt;    V_CLASS_NEW  = ITAB-CLASS.&lt;/P&gt;&lt;P&gt;    V_CLASS_TYP  = ITAB-KLART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ITAB-MNAME = 'INST_DATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_DATE = ITAB-MWERT.&lt;/P&gt;&lt;P&gt;      WRITE V_DATE TO IT_CHAR-VALUE_CHAR.&lt;/P&gt;&lt;P&gt;      IT_CHAR-CHARACT = ITAB-MNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_OBJCL_CHANGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          OBJECTKEY          = V_OBJECT&lt;/P&gt;&lt;P&gt;          OBJECTTABLE        = V_TABLE&lt;/P&gt;&lt;P&gt;          CLASSNUM           = V_CLASS_NEW&lt;/P&gt;&lt;P&gt;          CLASSTYPE          = V_CLASS_TYP&lt;/P&gt;&lt;P&gt;          STATUS             = '1'&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          ALLOCVALUESNUMNEW  = ALLOCVAL_NUM&lt;/P&gt;&lt;P&gt;          ALLOCVALUESCHARNEW = IT_CHAR&lt;/P&gt;&lt;P&gt;          ALLOCVALUESCURRNEW = ALLOCVAL_CURR&lt;/P&gt;&lt;P&gt;          RETURN             = IT_RETCAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            WAIT = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_RETCAL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-EQUNR  =  V_EQUNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-ZMAIL  =  ITAB-ZMAIL.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-REFMA  = ITAB-REFMA.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-SERGE  = ITAB-SERGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-TPLNR  = ITAB-TPLNR.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-EXCEPT = IT_RETCAL-MESSAGE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-TYPE   = IT_RETCAL-TYPE.&lt;/P&gt;&lt;P&gt;      GT_EQUTAB1-PLTXT  =  V_PLTXT.&lt;/P&gt;&lt;P&gt;      APPEND GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;      CLEAR GT_EQUTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR :          WA_DATA_GENERAL,&lt;/P&gt;&lt;P&gt;                     WA_GENERAL_DATAX,&lt;/P&gt;&lt;P&gt;                     WA_SPECIFIC_DATA,&lt;/P&gt;&lt;P&gt;                     WA_SPECIFIC_DATAX,&lt;/P&gt;&lt;P&gt;                     WA_ADDR,&lt;/P&gt;&lt;P&gt;                     WA_EQUIP,&lt;/P&gt;&lt;P&gt;                     V_OBJECT,&lt;/P&gt;&lt;P&gt;                     V_EQKTX,&lt;/P&gt;&lt;P&gt;                     V_EQUNR,&lt;/P&gt;&lt;P&gt;                     V_DATE,&lt;/P&gt;&lt;P&gt;                     V_CLASS_NEW,&lt;/P&gt;&lt;P&gt;                     V_CLASS_TYP,&lt;/P&gt;&lt;P&gt;                      V_ILOAN,&lt;/P&gt;&lt;P&gt;                     V_NEW_ADDRESS,&lt;/P&gt;&lt;P&gt;                     V_AD_HANDLE,&lt;/P&gt;&lt;P&gt;                     IT_CHAR,&lt;/P&gt;&lt;P&gt;                     IT_RETCAL,&lt;/P&gt;&lt;P&gt;                     IT_RETURN,&lt;/P&gt;&lt;P&gt;                     V_TPLNR,&lt;/P&gt;&lt;P&gt;                     IT_EQUIP,&lt;/P&gt;&lt;P&gt;                     IT_ADDR,&lt;/P&gt;&lt;P&gt;                     IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH :   IT_CHAR,&lt;/P&gt;&lt;P&gt;                IT_RETCAL,&lt;/P&gt;&lt;P&gt;                IT_RETURN,&lt;/P&gt;&lt;P&gt;                IT_EQUIP,&lt;/P&gt;&lt;P&gt;                IT_ADDR,&lt;/P&gt;&lt;P&gt;                IT_ADDR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_equipment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  displaydata&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAYDATA .&lt;/P&gt;&lt;P&gt;  LOOP AT GT_EQUTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF GT_EQUTAB-MODE = V_CRE.&lt;/P&gt;&lt;P&gt;      READ TABLE GT_EQUTAB1 WITH KEY EQUNR = GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                                      TYPE =  'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-036.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-035.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB1-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = TEXT-036.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        ULINE: 1(185).&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;        WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                2   GT_EQUTAB-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                14  GT_EQUTAB-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                36  GT_EQUTAB-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                68  GT_EQUTAB-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                104 GT_EQUTAB-EXCEPT,&lt;/P&gt;&lt;P&gt;                145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                146 GT_EQUTAB-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                185 SY-VLINE.&lt;/P&gt;&lt;P&gt;        ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB-STATUS = TEXT-035.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB1-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB1-EXCEPT = TEXT-035.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        LOOP AT GT_EQUTAB1 WHERE EQUNR = GT_EQUTAB-EQUNR.&lt;/P&gt;&lt;P&gt;          ULINE: 1(185).&lt;/P&gt;&lt;P&gt;          WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;          WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                  2   GT_EQUTAB1-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                  13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  14  GT_EQUTAB1-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                  35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  36  GT_EQUTAB1-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                  67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  68  GT_EQUTAB1-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                  103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  104 GT_EQUTAB1-EXCEPT,&lt;/P&gt;&lt;P&gt;                  145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  146 GT_EQUTAB1-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                  185 SY-VLINE.&lt;/P&gt;&lt;P&gt;          ULINE:/1(185).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE GT_EQUTAB1 WITH KEY EQUNR = GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                                      TYPE =  'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-038.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-STATUS = TEXT-037.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF GT_EQUTAB-EXCEPT IS INITIAL .&lt;/P&gt;&lt;P&gt;          GT_EQUTAB-EXCEPT = TEXT-038.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        ULINE: 1(185).&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;        WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                2   GT_EQUTAB-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                14  GT_EQUTAB-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                36  GT_EQUTAB-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                68  GT_EQUTAB-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                104 GT_EQUTAB-EXCEPT,&lt;/P&gt;&lt;P&gt;                145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                146 GT_EQUTAB-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                185 SY-VLINE.&lt;/P&gt;&lt;P&gt;        ULINE:/1(185).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB1-STATUS = TEXT-037.&lt;/P&gt;&lt;P&gt;        GT_EQUTAB1-EXCEPT = TEXT-037.&lt;/P&gt;&lt;P&gt;        LOOP AT GT_EQUTAB1 WHERE EQUNR = GT_EQUTAB-EQUNR.&lt;/P&gt;&lt;P&gt;          ULINE: 1(185).&lt;/P&gt;&lt;P&gt;          WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; SPACE COLOR 2.&lt;/P&gt;&lt;P&gt;          WRITE : 1   SY-VLINE,&lt;/P&gt;&lt;P&gt;                  2   GT_EQUTAB1-EQUNR    COLOR 2,&lt;/P&gt;&lt;P&gt;                  13  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  14  GT_EQUTAB1-REFMA    COLOR 2,&lt;/P&gt;&lt;P&gt;                  35  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  36  GT_EQUTAB1-SERGE    COLOR 2,&lt;/P&gt;&lt;P&gt;                  67  SY-VLINE,&lt;/P&gt;&lt;P&gt;                  68  GT_EQUTAB1-PLTXT    COLOR 2,&lt;/P&gt;&lt;P&gt;                  103 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  104 GT_EQUTAB1-EXCEPT,&lt;/P&gt;&lt;P&gt;                  145 SY-VLINE,&lt;/P&gt;&lt;P&gt;                  146 GT_EQUTAB1-STATUS   COLOR 3 ,&lt;/P&gt;&lt;P&gt;                  185 SY-VLINE.&lt;/P&gt;&lt;P&gt;          ULINE:/1(185).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW ZMAIL.&lt;/P&gt;&lt;P&gt;      GT_OBJTXT = TEXT-020.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;      APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_EQUTAB-EQUNR&lt;/P&gt;&lt;P&gt;                TEXT-032 GT_EQUTAB-REFMA&lt;/P&gt;&lt;P&gt;                TEXT-033 GT_EQUTAB-SERGE&lt;/P&gt;&lt;P&gt;                TEXT-034 GT_EQUTAB-TPLNR  '-'&lt;/P&gt;&lt;P&gt;                GT_EQUTAB-EXCEPT&lt;/P&gt;&lt;P&gt;                INTO GT_OBJTXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND GT_OBJTXT.&lt;/P&gt;&lt;P&gt;    CLEAR GT_OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF ZMAIL.&lt;/P&gt;&lt;P&gt;      PERFORM SENDING USING GT_EQUTAB-ZMAIL.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " displaydata&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;code includes all details for equipment . if you have any dout mail me to shaik0079@yahoo.com&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2006 07:44:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-equipment-creation/m-p/1160725#M120375</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-03T07:44:10Z</dc:date>
    </item>
  </channel>
</rss>

