<?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: BDC Table Controls in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850138#M925604</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;Dont panic by seeing the code  just Concentrate on the code which i have marked with BOLD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and apply the same logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZME11U01&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING  MESSAGE-ID ZI&lt;/P&gt;&lt;P&gt;                                LINE-COUNT 25&lt;/P&gt;&lt;P&gt;                                LINE-SIZE 118.&lt;/P&gt;&lt;P&gt;TABLES: EINE, EINA, MARC, MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_PURCH_INFO OCCURS 0,&lt;/P&gt;&lt;P&gt;        LIFNR         LIKE EINA-LIFNR,&lt;/P&gt;&lt;P&gt;        MATNR(35),&lt;/P&gt;&lt;P&gt;        EKORG         LIKE EINE-EKORG,                     "Pur org&lt;/P&gt;&lt;P&gt;        WERKS         LIKE EINE-WERKS,&lt;/P&gt;&lt;P&gt;        KONSI         LIKE RM06I-KONSI,&lt;/P&gt;&lt;P&gt;        MAHN1(3),&lt;/P&gt;&lt;P&gt;        MAHN2(3),&lt;/P&gt;&lt;P&gt;        MAHN3(3),&lt;/P&gt;&lt;P&gt;        IDNLF         LIKE EINA-IDNLF,&lt;/P&gt;&lt;P&gt;        LTSNR         LIKE EINA-LTSNR,&lt;/P&gt;&lt;P&gt;        LTSSF(5),&lt;/P&gt;&lt;P&gt;        WGLIF         LIKE EINA-WGLIF,&lt;/P&gt;&lt;P&gt;        ANZPU(13),&lt;/P&gt;&lt;P&gt;        PUNEI(3),&lt;/P&gt;&lt;P&gt;        VERKF         LIKE EINA-VERKF,&lt;/P&gt;&lt;P&gt;        TELF1         LIKE EINA-TELF1,&lt;/P&gt;&lt;P&gt;        RUECK         LIKE EINA-RUECK,&lt;/P&gt;&lt;P&gt;        KOLIF         LIKE EINA-KOLIF,&lt;/P&gt;&lt;P&gt;        MEINS(3),&lt;/P&gt;&lt;P&gt;        UMREN(5),&lt;/P&gt;&lt;P&gt;        UMREZ(5),&lt;/P&gt;&lt;P&gt;        VABME         LIKE EINA-VABME,&lt;/P&gt;&lt;P&gt;        URZTP         LIKE EINA-URZTP,&lt;/P&gt;&lt;P&gt;        URZNR         LIKE EINA-URZNR,&lt;/P&gt;&lt;P&gt;        URZDT(10),&lt;/P&gt;&lt;P&gt;        URZLA         LIKE EINA-URZLA,&lt;/P&gt;&lt;P&gt;        REGIO         LIKE EINA-REGIO,&lt;/P&gt;&lt;P&gt;        URZZT         LIKE EINA-URZZT,&lt;/P&gt;&lt;P&gt;        LIFAB(10),&lt;/P&gt;&lt;P&gt;        LIFBI(10),&lt;/P&gt;&lt;P&gt;        RELIF         LIKE EINA-RELIF,&lt;/P&gt;&lt;P&gt;        APLFZ(3),&lt;/P&gt;&lt;P&gt;        BSTAE         LIKE EINE-BSTAE,&lt;/P&gt;&lt;P&gt;        MWSKZ         LIKE EINE-MWSKZ,&lt;/P&gt;&lt;P&gt;        EKGRP         LIKE EINE-EKGRP,&lt;/P&gt;&lt;P&gt;        NORBM(13),&lt;/P&gt;&lt;P&gt;        MINBM(13) ,&lt;/P&gt;&lt;P&gt;        MHDRZ(5),&lt;/P&gt;&lt;P&gt;        EVERS         LIKE EINE-EVERS,&lt;/P&gt;&lt;P&gt;        NETPR(11),&lt;/P&gt;&lt;P&gt;        WAERS(5),&lt;/P&gt;&lt;P&gt;        PEINH(5),&lt;/P&gt;&lt;P&gt;        BPRME(3),&lt;/P&gt;&lt;P&gt;        BPUMN(5),&lt;/P&gt;&lt;P&gt;        BPUMZ(5),&lt;/P&gt;&lt;P&gt;        MEPRF      LIKE  EINE-MEPRF,&lt;/P&gt;&lt;P&gt;        INCO1      LIKE  EINE-INCO1,&lt;/P&gt;&lt;P&gt;        INCO2      LIKE  EINE-INCO2,&lt;/P&gt;&lt;P&gt;        SKTOF      LIKE  EINE-SKTOF,&lt;/P&gt;&lt;P&gt;        EKKOL      LIKE  EINE-EKKOL,&lt;/P&gt;&lt;P&gt;        SELKZ1     LIKE  RM06I-SELKZ,&lt;/P&gt;&lt;P&gt;        LTEX1      LIKE  RM06I-LTEX1,&lt;/P&gt;&lt;P&gt;        SELKZ2     LIKE  RM06I-SELKZ,&lt;/P&gt;&lt;P&gt;        LTEX2      LIKE  RM06I-LTEX1,&lt;/P&gt;&lt;P&gt;        DATAB(10),&lt;/P&gt;&lt;P&gt;        DATBI(10),&lt;/P&gt;&lt;P&gt;        FLAG(1),    "Indicates existing price cond to delete&lt;/P&gt;&lt;P&gt;      END OF IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to store BDC data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA BEGIN OF IT_BDCDATA OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCDATA.&lt;/P&gt;&lt;P&gt;DATA END OF IT_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA BEGIN OF IT_MSGTAB OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;DATA END OF IT_MSGTAB.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MESSAGES OCCURS 0,&lt;/P&gt;&lt;P&gt;        REC_NO LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;        ETYPE(1),&lt;/P&gt;&lt;P&gt;        MESSAGE(150),&lt;/P&gt;&lt;P&gt;       END OF IT_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MATERIAL OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR(35),&lt;/P&gt;&lt;P&gt;      END OF IT_MATERIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_A017 OCCURS 10,&lt;/P&gt;&lt;P&gt;          KNUMH TYPE KNUMH,&lt;/P&gt;&lt;P&gt;          DATAB TYPE DATAB,&lt;/P&gt;&lt;P&gt;          DATBI TYPE DATBI,&lt;/P&gt;&lt;P&gt;       END OF IT_A017.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_KONP LIKE KONP OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: V_DATAB LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;      V_DATBI LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;      V_NO(2) TYPE N,&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_CNT   TYPE I,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      V_INFO  TYPE C,&lt;/P&gt;&lt;P&gt;      V_IFNR  TYPE C,&lt;/P&gt;&lt;P&gt;      V_DEL   TYPE C,&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;IT_CTU_PARAMS TYPE CTU_PARAMS.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_DISP  TYPE C VALUE 'N',       " No display mode&lt;/P&gt;&lt;P&gt;       V_SUPD  TYPE C VALUE 'S',       " Synchronous update mode&lt;/P&gt;&lt;P&gt;       V_ME11(4)  TYPE C VALUE 'ME11', " Transaction code&lt;/P&gt;&lt;P&gt;       V_ME12(4)  TYPE C VALUE 'ME12', " Transaction code&lt;/P&gt;&lt;P&gt;       V_FILE LIKE IBIPPARMS-PATH.     " File name passed by function module&lt;/P&gt;&lt;P&gt;DATA : V_FTYP(3) TYPE C VALUE 'DAT'.&lt;/P&gt;&lt;P&gt;DATA : V_REC_NO LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;       V_ERRTEXT(150).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_FLAG(1),&lt;/P&gt;&lt;P&gt;      V_FLAG_MAT,&lt;/P&gt;&lt;P&gt;      V_FLAG_DEL, V_TEXT(2000).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_KNUMH LIKE A017-KNUMH,&lt;/P&gt;&lt;P&gt;      V_KONP LIKE KONP-KOPOS,&lt;/P&gt;&lt;P&gt;      V_STR(30),&lt;/P&gt;&lt;P&gt;      V_MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;      V_LIFNR LIKE LFA1-LIFNR.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Selection-Screen&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;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_PC RADIOBUTTON GROUP R1,&lt;/P&gt;&lt;P&gt;            P_UNIX RADIOBUTTON GROUP R1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_TEST AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&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;*-                  AT SELECTION SCREEN&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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;*- To get F4 help for the P_FILE parameter&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILE_PATH.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     START-OF-SELECTION&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;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UPLOAD DATA FROM THE PC FILE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_PC EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM UPLOAD.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM UNIX_UPLOAD.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM BDC_UPLOAD.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     END-OF-SELECTION&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM MATERIAL_ERROR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_MESSAGES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_MESSAGES.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;                        TOP-OF-PAGE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GET COMMON REPORT HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM REPORT_HEADER.&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  GET_FILE_PATH&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 GET_FILE_PATH.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PROGRAM_NAME  = SYST-REPID&lt;/P&gt;&lt;P&gt;      DYNPRO_NUMBER = SYST-DYNNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILE_NAME     = V_FILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS        = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I000(ZI) WITH 'Try Again'(002).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    P_FILE = V_FILE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_FILE_PATH&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  UPLOAD&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 UPLOAD.&lt;/P&gt;&lt;P&gt;  CLEAR IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;  REFRESH IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: V_FILENAME TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_FILENAME = P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                = V_FILENAME&lt;/P&gt;&lt;P&gt;      FILETYPE                = 'ASC'&lt;/P&gt;&lt;P&gt;      HAS_FIELD_SEPARATOR     = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                = IT_PURCH_INFO&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_OPEN_ERROR         = 1&lt;/P&gt;&lt;P&gt;      FILE_READ_ERROR         = 2&lt;/P&gt;&lt;P&gt;      NO_BATCH                = 3&lt;/P&gt;&lt;P&gt;      GUI_REFUSE_FILETRANSFER = 4&lt;/P&gt;&lt;P&gt;      INVALID_TYPE            = 5&lt;/P&gt;&lt;P&gt;      NO_AUTHORITY            = 6&lt;/P&gt;&lt;P&gt;      UNKNOWN_ERROR           = 7&lt;/P&gt;&lt;P&gt;      BAD_DATA_FORMAT         = 8&lt;/P&gt;&lt;P&gt;      HEADER_NOT_ALLOWED      = 9&lt;/P&gt;&lt;P&gt;      SEPARATOR_NOT_ALLOWED   = 10&lt;/P&gt;&lt;P&gt;      HEADER_TOO_LONG         = 11&lt;/P&gt;&lt;P&gt;      UNKNOWN_DP_ERROR        = 12&lt;/P&gt;&lt;P&gt;      ACCESS_DENIED           = 13&lt;/P&gt;&lt;P&gt;      DP_OUT_OF_MEMORY        = 14&lt;/P&gt;&lt;P&gt;      DISK_FULL               = 15&lt;/P&gt;&lt;P&gt;      DP_TIMEOUT              = 16&lt;/P&gt;&lt;P&gt;      OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(ZI) WITH 'No Records to process in the file'(003).&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(ZI) WITH 'File is not uploaded. Try Again.'(004).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UPLOAD&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  BDC_UPLOAD&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 BDC_UPLOAD.&lt;/P&gt;&lt;P&gt;  CLEAR : IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;  CLEAR: V_REC_NO.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;    V_REC_NO = V_REC_NO + 1.&lt;/P&gt;&lt;P&gt;    CLEAR V_DEL.                                            "DEVK963&lt;/P&gt;&lt;P&gt;    PERFORM TEST.&lt;/P&gt;&lt;P&gt;    IF P_TEST EQ 'X'.&lt;/P&gt;&lt;P&gt;      IF V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO,&lt;/P&gt;&lt;P&gt;                 'Material'(014), ' ',IT_PURCH_INFO-MATNR,&lt;/P&gt;&lt;P&gt;                 ' not maintained in plant', IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO, 'Info Record can be changed'(017).&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO, 'Info Record Can be Created'(015).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        REFRESH: IT_A017, IT_KONP.&lt;/P&gt;&lt;P&gt;        CLEAR: V_LIFNR, V_MATNR, V_KNUMH.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            OUTPUT = V_LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;            LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;            OTHERS           = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF IT_PURCH_INFO-KONSI IS INITIAL.&lt;/P&gt;&lt;P&gt;          SELECT KNUMH DATAB DATBI&lt;/P&gt;&lt;P&gt;                 FROM A017&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;                  WHERE LIFNR = V_LIFNR AND&lt;/P&gt;&lt;P&gt;                        MATNR = V_MATNR AND&lt;/P&gt;&lt;P&gt;                        EKORG = IT_PURCH_INFO-EKORG AND&lt;/P&gt;&lt;P&gt;                        WERKS = IT_PURCH_INFO-WERKS AND&lt;/P&gt;&lt;P&gt;                        ESOKZ = '0'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          SELECT KNUMH DATAB DATBI&lt;/P&gt;&lt;P&gt;                 FROM A017&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;                  WHERE LIFNR = V_LIFNR AND&lt;/P&gt;&lt;P&gt;                        MATNR = V_MATNR AND&lt;/P&gt;&lt;P&gt;                        EKORG = IT_PURCH_INFO-EKORG AND&lt;/P&gt;&lt;P&gt;                        WERKS = IT_PURCH_INFO-WERKS AND&lt;/P&gt;&lt;P&gt;                        ESOKZ = '2'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SORT IT_A017 BY DATBI DESCENDING.&lt;/P&gt;&lt;P&gt;          READ TABLE IT_A017 INDEX 1.&lt;/P&gt;&lt;P&gt;          V_KNUMH = IT_A017-KNUMH.&lt;/P&gt;&lt;P&gt;          SELECT * FROM KONP&lt;/P&gt;&lt;P&gt;                   INTO TABLE IT_KONP&lt;/P&gt;&lt;P&gt;                   FOR ALL ENTRIES IN IT_A017&lt;/P&gt;&lt;P&gt;                WHERE KNUMH = IT_A017-KNUMH.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            LOOP AT IT_KONP.&lt;/P&gt;&lt;P&gt;              IF NOT IT_KONP-KNUMH = V_KNUMH.&lt;/P&gt;&lt;P&gt;                UPDATE KONP SET LOEVM_KO = 'X' WHERE  KNUMH = IT_KONP-KNUMH AND&lt;/P&gt;&lt;P&gt;                                                      KOPOS = IT_KONP-KOPOS.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;            COMMIT WORK.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          V_DEL = 'X'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      PERFORM GENERATE_BDC_TABLE.&lt;/P&gt;&lt;P&gt;      IF V_FLAG_DEL &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;        IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-DISMODE = 'N'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-UPDMODE = 'S'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-DEFSIZE = 'X'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;CALL TRANSACTION V_ME12&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;USING IT_BDCDATA&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;OPTIONS FROM IT_CTU_PARAMS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;MESSAGES INTO IT_MSGTAB.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION V_ME11&lt;/P&gt;&lt;P&gt;             USING IT_BDCDATA&lt;/P&gt;&lt;P&gt;             MODE V_DISP&lt;/P&gt;&lt;P&gt;             UPDATE V_SUPD MESSAGES INTO IT_MSGTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        IF NOT IT_MSGTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-REC_NO = V_REC_NO.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-ETYPE = 'E'.&lt;/P&gt;&lt;P&gt;          PERFORM BUILD_MESSAGES.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF NOT IT_MSGTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-REC_NO = V_REC_NO.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-ETYPE = 'S'.&lt;/P&gt;&lt;P&gt;          LOOP AT IT_MSGTAB WHERE MSGTYP = 'S'.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                MSGID               = IT_MSGTAB-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = IT_MSGTAB-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = IT_MSGTAB-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = IT_MSGTAB-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = IT_MSGTAB-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = IT_MSGTAB-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = V_ERRTEXT&lt;/P&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;P&gt;                OTHERS              = 1.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          APPEND IT_MESSAGES.&lt;/P&gt;&lt;P&gt;          CLEAR IT_MESSAGES.&lt;/P&gt;&lt;P&gt;          CLEAR V_ERRTEXT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR: IT_BDCDATA, IT_MSGTAB.&lt;/P&gt;&lt;P&gt;      REFRESH : IT_BDCDATA, IT_MSGTAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_UPLOAD&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  DISPLAY_MESSAGES&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 DISPLAY_MESSAGES.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MESSAGES.&lt;/P&gt;&lt;P&gt;    WRITE:/1 IT_MESSAGES-REC_NO.&lt;/P&gt;&lt;P&gt;    IF IT_MESSAGES-ETYPE = 'E'.&lt;/P&gt;&lt;P&gt;      WRITE: AT 15&lt;/P&gt;&lt;P&gt;    'Record in the file is not suitable for Info record creation.'(005),&lt;/P&gt;&lt;P&gt;             'Error message is:'(006).&lt;/P&gt;&lt;P&gt;      WRITE: /15 IT_MESSAGES-MESSAGE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:AT 15 IT_MESSAGES-MESSAGE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " DISPLAY_MESSAGES&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  REPORT_HEADER&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 REPORT_HEADER.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TITLE  = SY-TITLE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 1.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " REPORT_HEADER&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  GENERATE_BDC_TABLE&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 GENERATE_BDC_TABLE.&lt;/P&gt;&lt;P&gt;  DATA: V_MATEXT(1).&lt;/P&gt;&lt;P&gt;  PERFORM : BDC_DYNPRO        USING 'SAPMM06I' '0100',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_CURSOR' 'EINA-LIFNR',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINA-LIFNR' IT_PURCH_INFO-LIFNR,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINA-MATNR' IT_PURCH_INFO-MATNR,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINE-EKORG' IT_PURCH_INFO-EKORG,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINE-WERKS' IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;  IF IT_PURCH_INFO-KONSI = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RM06I-KONSI' 'X'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RM06I-NORMB' 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD    USING 'EINA-INFNR' EINA-INFNR.  "1st Sep 2006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_MATEXT = 'Y'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0101',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_CURSOR' 'EINA-MAHN3'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN1' IT_PURCH_INFO-MAHN1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN2' IT_PURCH_INFO-MAHN2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN3 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN3' IT_PURCH_INFO-MAHN3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-IDNLF IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-IDNLF' IT_PURCH_INFO-IDNLF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTSNR IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LTSNR' IT_PURCH_INFO-LTSNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTSSF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LTSSF' IT_PURCH_INFO-LTSSF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-WGLIF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-WGLIF' IT_PURCH_INFO-WGLIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-ANZPU  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-ANZPU' IT_PURCH_INFO-ANZPU.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-PUNEI IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-PUNEI' IT_PURCH_INFO-PUNEI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-VERKF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-VERKF' IT_PURCH_INFO-VERKF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-TELF1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-TELF1' IT_PURCH_INFO-TELF1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-RUECK  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-RUECK' IT_PURCH_INFO-RUECK.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-KOLIF IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-KOLIF' IT_PURCH_INFO-KOLIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MEINS  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MEINS' IT_PURCH_INFO-MEINS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-UMREN  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-UMREN' IT_PURCH_INFO-UMREN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-UMREZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-UMREZ' IT_PURCH_INFO-UMREZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-VABME  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-VABME' IT_PURCH_INFO-VABME.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZTP  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZTP' IT_PURCH_INFO-URZTP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZNR  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZNR' IT_PURCH_INFO-URZNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZDT IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZDT' IT_PURCH_INFO-URZDT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-URZLA IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZLA' IT_PURCH_INFO-URZLA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-REGIO  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-REGIO' IT_PURCH_INFO-REGIO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZZT  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZZT' IT_PURCH_INFO-URZZT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LIFAB IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LIFAB' IT_PURCH_INFO-LIFAB.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LIFBI  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LIFBI' IT_PURCH_INFO-LIFBI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-RELIF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-RELIF' IT_PURCH_INFO-RELIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0102'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'KO'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'EINE-APLFZ'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-APLFZ IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-APLFZ' IT_PURCH_INFO-APLFZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-BSTAE IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-BSTAE' IT_PURCH_INFO-BSTAE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'EINE-WEBRE' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MWSKZ IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MWSKZ' IT_PURCH_INFO-MWSKZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-EKGRP IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EKGRP' IT_PURCH_INFO-EKGRP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-NORBM  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-NORBM' IT_PURCH_INFO-NORBM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MINBM  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MINBM' IT_PURCH_INFO-MINBM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MHDRZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MHDRZ' IT_PURCH_INFO-MHDRZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-EVERS  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EVERS' IT_PURCH_INFO-EVERS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF V_MATEXT NE 'Y'.&lt;/P&gt;&lt;P&gt;    IF NOT  IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-NETPR' IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT  IT_PURCH_INFO-WAERS IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-WAERS' IT_PURCH_INFO-WAERS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-PEINH IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-PEINH' IT_PURCH_INFO-PEINH.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPRME IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPRME' IT_PURCH_INFO-BPRME.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPUMN  IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPUMN' IT_PURCH_INFO-BPUMN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPUMZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPUMZ' IT_PURCH_INFO-BPUMZ.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MEPRF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MEPRF' IT_PURCH_INFO-MEPRF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-INCO1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-INCO1' IT_PURCH_INFO-INCO1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-INCO2  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-INCO2' IT_PURCH_INFO-INCO2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SKTOF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-SKTOF' IT_PURCH_INFO-SKTOF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-EKKOL  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EKKOL' IT_PURCH_INFO-EKKOL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR V_DATAB.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE_EXTERNAL = IT_PURCH_INFO-DATAB&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      DATE_INTERNAL = V_DATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE V_DATAB TO IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR V_DATBI.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE_EXTERNAL = IT_PURCH_INFO-DATBI&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      DATE_INTERNAL = V_DATBI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE V_DATBI TO IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;  REFRESH IT_A017.&lt;/P&gt;&lt;P&gt;  CLEAR V_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_MATEXT EQ 'Y'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;        LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;        OTHERS           = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = V_LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO-KONSI IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE KNUMH FROM A017 INTO V_KNUMH&lt;/P&gt;&lt;P&gt;             WHERE KSCHL = 'PB00'&lt;/P&gt;&lt;P&gt;               AND LIFNR = V_LIFNR&lt;/P&gt;&lt;P&gt;               AND MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;               AND ESOKZ = '0'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT KNUMH DATAB DATBI FROM A017 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;             WHERE KSCHL = 'PB00'&lt;/P&gt;&lt;P&gt;               AND LIFNR = V_LIFNR&lt;/P&gt;&lt;P&gt;               AND MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;               AND ESOKZ = '2'.&lt;/P&gt;&lt;P&gt;      SORT IT_A017 BY DATBI DESCENDING.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE IT_A017 LINES V_NO.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_A017 INDEX 1.&lt;/P&gt;&lt;P&gt;      V_KNUMH = IT_A017.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR V_KONP.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE KOPOS FROM  KONP INTO V_KONP&lt;/P&gt;&lt;P&gt;                 WHERE KNUMH = V_KNUMH&lt;/P&gt;&lt;P&gt;                   AND LOEVM_KO NE 'X'.&lt;/P&gt;&lt;P&gt;    WHILE V_KONP GT 4. &lt;STRONG&gt;(when konp value greater than 4 rows in the table control )&lt;/STRONG&gt;      *&lt;STRONG&gt;V_CNT = V_CNT + 1.&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_KONP = V_KONP - 3.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;ENDWHILE.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;IF V_KONP = 4.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_KONP = 1.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_CNT = V_CNT + 1.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;ENDIF.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    IF NOT V_IFNR = 'X'&lt;/P&gt;&lt;P&gt;       AND V_DEL  NE 'X'.                                      "DEVK963326&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPLV14A' '0102'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'PICK'.&lt;/P&gt;&lt;P&gt;      IF V_NO IS INITIAL.&lt;/P&gt;&lt;P&gt;        V_NO = '01'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'VAKE-DATBI(' V_NO ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO-FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF NOT V_IFNR =  'X'&lt;/P&gt;&lt;P&gt;         AND V_DEL  NE 'X'.                                      "DEVK963306&lt;/P&gt;&lt;P&gt;        &lt;STRONG&gt;DO V_CNT TIMES.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '=P+'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        &lt;STRONG&gt;ENDDO.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KSCHL(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '=DLIN'.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'RV130-SELKZ(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*DEVK963324&lt;/P&gt;&lt;P&gt;      IF V_DEL = 'X'.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_KONP = V_KONP + 1.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT V_IFNR = 'X'&lt;/P&gt;&lt;P&gt;         AND V_DEL  NE 'X'.                                      "DEVK963326&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KSCHL(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR 'PB00'.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KONWA(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-WAERS.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KPEIN(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-PEINH.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KMEIN(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-BPRME.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'RV13A-DATAB'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'RV13A-DATAB'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0102'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'TEXT'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'EINE-APLFZ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0103'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BU'.&lt;/P&gt;&lt;P&gt;  PERFORM:    BDC_FIELD         USING 'BDC_CURSOR' 'RM06I-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SELKZ1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-SELKZ(01)' IT_PURCH_INFO-SELKZ1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SELKZ2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-SELKZ(02)' IT_PURCH_INFO-SELKZ2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTEX1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-LTEX1(01)' IT_PURCH_INFO-LTEX1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTEX2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-LTEX1(02)' IT_PURCH_INFO-LTEX2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR V_MATEXT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GENERATE_BDC_TABLE&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  BDC_DYNPRO&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 BDC_DYNPRO USING  PROG DYNP.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-PROGRAM  = PROG.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNPRO   = DYNP.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_DYNPRO&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  BDC_FIELD&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 BDC_FIELD USING  FNAM FVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_FIELD&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  BUILD_MESSAGES&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 BUILD_MESSAGES.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MSGTAB WHERE MSGTYP = 'E'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        MSGID               = IT_MSGTAB-MSGID&lt;/P&gt;&lt;P&gt;        MSGNR               = IT_MSGTAB-MSGNR&lt;/P&gt;&lt;P&gt;        MSGV1               = IT_MSGTAB-MSGV1&lt;/P&gt;&lt;P&gt;        MSGV2               = IT_MSGTAB-MSGV2&lt;/P&gt;&lt;P&gt;        MSGV3               = IT_MSGTAB-MSGV3&lt;/P&gt;&lt;P&gt;        MSGV4               = IT_MSGTAB-MSGV4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        MESSAGE_TEXT_OUTPUT = V_ERRTEXT&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        OTHERS              = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MSGTAB WITH KEY MSGID = '00' MSGNR = '055'.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE IT_MSGTAB-FLDNAME ': ' V_ERRTEXT INTO V_ERRTEXT.&lt;/P&gt;&lt;P&gt;        IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESSAGES.&lt;/P&gt;&lt;P&gt;  CLEAR IT_MESSAGES.&lt;/P&gt;&lt;P&gt;  CLEAR V_ERRTEXT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_MESSAGES&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  UNIX_UPLOAD&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 UNIX_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    READ DATASET P_FILE INTO V_TEXT.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SPLIT V_TEXT AT CL_ABAP_CHAR_UTILITIES=&amp;gt;HORIZONTAL_TAB&lt;/P&gt;&lt;P&gt;              INTO IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKORG&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WERKS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-KONSI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN3&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-IDNLF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTSNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTSSF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WGLIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-ANZPU&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-PUNEI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-VERKF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-TELF1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-RUECK&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-KOLIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MEINS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-UMREN&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-UMREZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-VABME&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZTP&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZDT&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZLA&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-REGIO&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZZT&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LIFAB&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LIFBI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-RELIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-APLFZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BSTAE&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MWSKZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKGRP&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-NORBM&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MINBM&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MHDRZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EVERS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-NETPR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WAERS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-PEINH&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPRME&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPUMN&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPUMZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MEPRF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-INCO1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-INCO2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SKTOF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKKOL&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SELKZ1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTEX1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SELKZ2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTEX2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-DATAB&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-DATBI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_FILE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UNIX_UPLOAD&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  TEST&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 TEST.&lt;/P&gt;&lt;P&gt;  CLEAR V_INFO.&lt;/P&gt;&lt;P&gt;  IF IT_PURCH_INFO-KONSI = 'X'.&lt;/P&gt;&lt;P&gt;    V_INFO = '2'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    V_INFO = '0'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR: V_FLAG, V_FLAG_DEL, V_FLAG_MAT.&lt;/P&gt;&lt;P&gt;  TRANSLATE IT_PURCH_INFO-MATNR TO UPPER CASE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;      OTHERS           = 3.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MATNR IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM MARC&lt;/P&gt;&lt;P&gt;          WHERE MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;            AND WERKS = IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;      MOVE IT_PURCH_INFO-MATNR TO IT_MATERIAL-MATNR.&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;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      OUTPUT = V_LIFNR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: V_FLAG, V_IFNR.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM EINA&lt;/P&gt;&lt;P&gt;         WHERE MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;           AND LIFNR = V_LIFNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    IF EINA-LOEKZ &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM EINE&lt;/P&gt;&lt;P&gt;             WHERE INFNR = EINA-INFNR&lt;/P&gt;&lt;P&gt;              AND  WERKS = IT_PURCH_INFO-WERKS&lt;/P&gt;&lt;P&gt;              AND  LOEKZ &amp;lt;&amp;gt; 'X'&lt;/P&gt;&lt;P&gt;              AND  ESOKZ = V_INFO.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        IT_PURCH_INFO-FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        MODIFY IT_PURCH_INFO  TRANSPORTING FLAG.&lt;/P&gt;&lt;P&gt;        V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        V_IFNR = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      V_FLAG_DEL = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TEST&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  MATERIAL_ERROR&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 MATERIAL_ERROR .&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MATERIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /5 'Material', IT_MATERIAL-MATNR, 'does not exist'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MATERIAL_ERROR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naveed khan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 May 2008 15:18:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-05-09T15:18:51Z</dc:date>
    <item>
      <title>BDC Table Controls</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850136#M925602</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 working on BDC Table Controls object. I have to transfer data from flat file to Table Controls. In flat file, under one header there are 40 items. But on the screen, only 19 lines are visible under line items table. When I run the program, only 19 rows of items are getting uploaded. I am getting error for the remaining 21 line items.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to solve this problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Ibrahim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 May 2008 08:53:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850136#M925602</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-09T08:53:34Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Table Controls</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850137#M925603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt; You are getting only 19 records , So u need to use page down concept . &lt;/P&gt;&lt;P&gt;For page down function code is '=P+'.So that u can add remaining records &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful &lt;/P&gt;&lt;P&gt;Thanks &lt;/P&gt;&lt;P&gt;Jagadeesh.G&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 May 2008 11:18:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850137#M925603</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-09T11:18:10Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Table Controls</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850138#M925604</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;Dont panic by seeing the code  just Concentrate on the code which i have marked with BOLD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and apply the same logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZME11U01&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING  MESSAGE-ID ZI&lt;/P&gt;&lt;P&gt;                                LINE-COUNT 25&lt;/P&gt;&lt;P&gt;                                LINE-SIZE 118.&lt;/P&gt;&lt;P&gt;TABLES: EINE, EINA, MARC, MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_PURCH_INFO OCCURS 0,&lt;/P&gt;&lt;P&gt;        LIFNR         LIKE EINA-LIFNR,&lt;/P&gt;&lt;P&gt;        MATNR(35),&lt;/P&gt;&lt;P&gt;        EKORG         LIKE EINE-EKORG,                     "Pur org&lt;/P&gt;&lt;P&gt;        WERKS         LIKE EINE-WERKS,&lt;/P&gt;&lt;P&gt;        KONSI         LIKE RM06I-KONSI,&lt;/P&gt;&lt;P&gt;        MAHN1(3),&lt;/P&gt;&lt;P&gt;        MAHN2(3),&lt;/P&gt;&lt;P&gt;        MAHN3(3),&lt;/P&gt;&lt;P&gt;        IDNLF         LIKE EINA-IDNLF,&lt;/P&gt;&lt;P&gt;        LTSNR         LIKE EINA-LTSNR,&lt;/P&gt;&lt;P&gt;        LTSSF(5),&lt;/P&gt;&lt;P&gt;        WGLIF         LIKE EINA-WGLIF,&lt;/P&gt;&lt;P&gt;        ANZPU(13),&lt;/P&gt;&lt;P&gt;        PUNEI(3),&lt;/P&gt;&lt;P&gt;        VERKF         LIKE EINA-VERKF,&lt;/P&gt;&lt;P&gt;        TELF1         LIKE EINA-TELF1,&lt;/P&gt;&lt;P&gt;        RUECK         LIKE EINA-RUECK,&lt;/P&gt;&lt;P&gt;        KOLIF         LIKE EINA-KOLIF,&lt;/P&gt;&lt;P&gt;        MEINS(3),&lt;/P&gt;&lt;P&gt;        UMREN(5),&lt;/P&gt;&lt;P&gt;        UMREZ(5),&lt;/P&gt;&lt;P&gt;        VABME         LIKE EINA-VABME,&lt;/P&gt;&lt;P&gt;        URZTP         LIKE EINA-URZTP,&lt;/P&gt;&lt;P&gt;        URZNR         LIKE EINA-URZNR,&lt;/P&gt;&lt;P&gt;        URZDT(10),&lt;/P&gt;&lt;P&gt;        URZLA         LIKE EINA-URZLA,&lt;/P&gt;&lt;P&gt;        REGIO         LIKE EINA-REGIO,&lt;/P&gt;&lt;P&gt;        URZZT         LIKE EINA-URZZT,&lt;/P&gt;&lt;P&gt;        LIFAB(10),&lt;/P&gt;&lt;P&gt;        LIFBI(10),&lt;/P&gt;&lt;P&gt;        RELIF         LIKE EINA-RELIF,&lt;/P&gt;&lt;P&gt;        APLFZ(3),&lt;/P&gt;&lt;P&gt;        BSTAE         LIKE EINE-BSTAE,&lt;/P&gt;&lt;P&gt;        MWSKZ         LIKE EINE-MWSKZ,&lt;/P&gt;&lt;P&gt;        EKGRP         LIKE EINE-EKGRP,&lt;/P&gt;&lt;P&gt;        NORBM(13),&lt;/P&gt;&lt;P&gt;        MINBM(13) ,&lt;/P&gt;&lt;P&gt;        MHDRZ(5),&lt;/P&gt;&lt;P&gt;        EVERS         LIKE EINE-EVERS,&lt;/P&gt;&lt;P&gt;        NETPR(11),&lt;/P&gt;&lt;P&gt;        WAERS(5),&lt;/P&gt;&lt;P&gt;        PEINH(5),&lt;/P&gt;&lt;P&gt;        BPRME(3),&lt;/P&gt;&lt;P&gt;        BPUMN(5),&lt;/P&gt;&lt;P&gt;        BPUMZ(5),&lt;/P&gt;&lt;P&gt;        MEPRF      LIKE  EINE-MEPRF,&lt;/P&gt;&lt;P&gt;        INCO1      LIKE  EINE-INCO1,&lt;/P&gt;&lt;P&gt;        INCO2      LIKE  EINE-INCO2,&lt;/P&gt;&lt;P&gt;        SKTOF      LIKE  EINE-SKTOF,&lt;/P&gt;&lt;P&gt;        EKKOL      LIKE  EINE-EKKOL,&lt;/P&gt;&lt;P&gt;        SELKZ1     LIKE  RM06I-SELKZ,&lt;/P&gt;&lt;P&gt;        LTEX1      LIKE  RM06I-LTEX1,&lt;/P&gt;&lt;P&gt;        SELKZ2     LIKE  RM06I-SELKZ,&lt;/P&gt;&lt;P&gt;        LTEX2      LIKE  RM06I-LTEX1,&lt;/P&gt;&lt;P&gt;        DATAB(10),&lt;/P&gt;&lt;P&gt;        DATBI(10),&lt;/P&gt;&lt;P&gt;        FLAG(1),    "Indicates existing price cond to delete&lt;/P&gt;&lt;P&gt;      END OF IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to store BDC data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA BEGIN OF IT_BDCDATA OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCDATA.&lt;/P&gt;&lt;P&gt;DATA END OF IT_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA BEGIN OF IT_MSGTAB OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;DATA END OF IT_MSGTAB.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MESSAGES OCCURS 0,&lt;/P&gt;&lt;P&gt;        REC_NO LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;        ETYPE(1),&lt;/P&gt;&lt;P&gt;        MESSAGE(150),&lt;/P&gt;&lt;P&gt;       END OF IT_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MATERIAL OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR(35),&lt;/P&gt;&lt;P&gt;      END OF IT_MATERIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_A017 OCCURS 10,&lt;/P&gt;&lt;P&gt;          KNUMH TYPE KNUMH,&lt;/P&gt;&lt;P&gt;          DATAB TYPE DATAB,&lt;/P&gt;&lt;P&gt;          DATBI TYPE DATBI,&lt;/P&gt;&lt;P&gt;       END OF IT_A017.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_KONP LIKE KONP OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: V_DATAB LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;      V_DATBI LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;      V_NO(2) TYPE N,&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_CNT   TYPE I,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      V_INFO  TYPE C,&lt;/P&gt;&lt;P&gt;      V_IFNR  TYPE C,&lt;/P&gt;&lt;P&gt;      V_DEL   TYPE C,&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;IT_CTU_PARAMS TYPE CTU_PARAMS.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_DISP  TYPE C VALUE 'N',       " No display mode&lt;/P&gt;&lt;P&gt;       V_SUPD  TYPE C VALUE 'S',       " Synchronous update mode&lt;/P&gt;&lt;P&gt;       V_ME11(4)  TYPE C VALUE 'ME11', " Transaction code&lt;/P&gt;&lt;P&gt;       V_ME12(4)  TYPE C VALUE 'ME12', " Transaction code&lt;/P&gt;&lt;P&gt;       V_FILE LIKE IBIPPARMS-PATH.     " File name passed by function module&lt;/P&gt;&lt;P&gt;DATA : V_FTYP(3) TYPE C VALUE 'DAT'.&lt;/P&gt;&lt;P&gt;DATA : V_REC_NO LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;       V_ERRTEXT(150).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_FLAG(1),&lt;/P&gt;&lt;P&gt;      V_FLAG_MAT,&lt;/P&gt;&lt;P&gt;      V_FLAG_DEL, V_TEXT(2000).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_KNUMH LIKE A017-KNUMH,&lt;/P&gt;&lt;P&gt;      V_KONP LIKE KONP-KOPOS,&lt;/P&gt;&lt;P&gt;      V_STR(30),&lt;/P&gt;&lt;P&gt;      V_MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;      V_LIFNR LIKE LFA1-LIFNR.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Selection-Screen&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;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_PC RADIOBUTTON GROUP R1,&lt;/P&gt;&lt;P&gt;            P_UNIX RADIOBUTTON GROUP R1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_TEST AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&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;*-                  AT SELECTION SCREEN&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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;*- To get F4 help for the P_FILE parameter&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILE_PATH.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     START-OF-SELECTION&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;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UPLOAD DATA FROM THE PC FILE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_PC EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM UPLOAD.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM UNIX_UPLOAD.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM BDC_UPLOAD.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     END-OF-SELECTION&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM MATERIAL_ERROR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_MESSAGES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_MESSAGES.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;                        TOP-OF-PAGE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GET COMMON REPORT HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM REPORT_HEADER.&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  GET_FILE_PATH&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 GET_FILE_PATH.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PROGRAM_NAME  = SYST-REPID&lt;/P&gt;&lt;P&gt;      DYNPRO_NUMBER = SYST-DYNNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILE_NAME     = V_FILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS        = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I000(ZI) WITH 'Try Again'(002).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    P_FILE = V_FILE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_FILE_PATH&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  UPLOAD&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 UPLOAD.&lt;/P&gt;&lt;P&gt;  CLEAR IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;  REFRESH IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: V_FILENAME TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_FILENAME = P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                = V_FILENAME&lt;/P&gt;&lt;P&gt;      FILETYPE                = 'ASC'&lt;/P&gt;&lt;P&gt;      HAS_FIELD_SEPARATOR     = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                = IT_PURCH_INFO&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_OPEN_ERROR         = 1&lt;/P&gt;&lt;P&gt;      FILE_READ_ERROR         = 2&lt;/P&gt;&lt;P&gt;      NO_BATCH                = 3&lt;/P&gt;&lt;P&gt;      GUI_REFUSE_FILETRANSFER = 4&lt;/P&gt;&lt;P&gt;      INVALID_TYPE            = 5&lt;/P&gt;&lt;P&gt;      NO_AUTHORITY            = 6&lt;/P&gt;&lt;P&gt;      UNKNOWN_ERROR           = 7&lt;/P&gt;&lt;P&gt;      BAD_DATA_FORMAT         = 8&lt;/P&gt;&lt;P&gt;      HEADER_NOT_ALLOWED      = 9&lt;/P&gt;&lt;P&gt;      SEPARATOR_NOT_ALLOWED   = 10&lt;/P&gt;&lt;P&gt;      HEADER_TOO_LONG         = 11&lt;/P&gt;&lt;P&gt;      UNKNOWN_DP_ERROR        = 12&lt;/P&gt;&lt;P&gt;      ACCESS_DENIED           = 13&lt;/P&gt;&lt;P&gt;      DP_OUT_OF_MEMORY        = 14&lt;/P&gt;&lt;P&gt;      DISK_FULL               = 15&lt;/P&gt;&lt;P&gt;      DP_TIMEOUT              = 16&lt;/P&gt;&lt;P&gt;      OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(ZI) WITH 'No Records to process in the file'(003).&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(ZI) WITH 'File is not uploaded. Try Again.'(004).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UPLOAD&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  BDC_UPLOAD&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 BDC_UPLOAD.&lt;/P&gt;&lt;P&gt;  CLEAR : IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;  CLEAR: V_REC_NO.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;    V_REC_NO = V_REC_NO + 1.&lt;/P&gt;&lt;P&gt;    CLEAR V_DEL.                                            "DEVK963&lt;/P&gt;&lt;P&gt;    PERFORM TEST.&lt;/P&gt;&lt;P&gt;    IF P_TEST EQ 'X'.&lt;/P&gt;&lt;P&gt;      IF V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO,&lt;/P&gt;&lt;P&gt;                 'Material'(014), ' ',IT_PURCH_INFO-MATNR,&lt;/P&gt;&lt;P&gt;                 ' not maintained in plant', IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO, 'Info Record can be changed'(017).&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WRITE:/ V_REC_NO, 'Info Record Can be Created'(015).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        REFRESH: IT_A017, IT_KONP.&lt;/P&gt;&lt;P&gt;        CLEAR: V_LIFNR, V_MATNR, V_KNUMH.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            OUTPUT = V_LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;            LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;            OTHERS           = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF IT_PURCH_INFO-KONSI IS INITIAL.&lt;/P&gt;&lt;P&gt;          SELECT KNUMH DATAB DATBI&lt;/P&gt;&lt;P&gt;                 FROM A017&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;                  WHERE LIFNR = V_LIFNR AND&lt;/P&gt;&lt;P&gt;                        MATNR = V_MATNR AND&lt;/P&gt;&lt;P&gt;                        EKORG = IT_PURCH_INFO-EKORG AND&lt;/P&gt;&lt;P&gt;                        WERKS = IT_PURCH_INFO-WERKS AND&lt;/P&gt;&lt;P&gt;                        ESOKZ = '0'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          SELECT KNUMH DATAB DATBI&lt;/P&gt;&lt;P&gt;                 FROM A017&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;                  WHERE LIFNR = V_LIFNR AND&lt;/P&gt;&lt;P&gt;                        MATNR = V_MATNR AND&lt;/P&gt;&lt;P&gt;                        EKORG = IT_PURCH_INFO-EKORG AND&lt;/P&gt;&lt;P&gt;                        WERKS = IT_PURCH_INFO-WERKS AND&lt;/P&gt;&lt;P&gt;                        ESOKZ = '2'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SORT IT_A017 BY DATBI DESCENDING.&lt;/P&gt;&lt;P&gt;          READ TABLE IT_A017 INDEX 1.&lt;/P&gt;&lt;P&gt;          V_KNUMH = IT_A017-KNUMH.&lt;/P&gt;&lt;P&gt;          SELECT * FROM KONP&lt;/P&gt;&lt;P&gt;                   INTO TABLE IT_KONP&lt;/P&gt;&lt;P&gt;                   FOR ALL ENTRIES IN IT_A017&lt;/P&gt;&lt;P&gt;                WHERE KNUMH = IT_A017-KNUMH.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            LOOP AT IT_KONP.&lt;/P&gt;&lt;P&gt;              IF NOT IT_KONP-KNUMH = V_KNUMH.&lt;/P&gt;&lt;P&gt;                UPDATE KONP SET LOEVM_KO = 'X' WHERE  KNUMH = IT_KONP-KNUMH AND&lt;/P&gt;&lt;P&gt;                                                      KOPOS = IT_KONP-KOPOS.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;            COMMIT WORK.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          V_DEL = 'X'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      PERFORM GENERATE_BDC_TABLE.&lt;/P&gt;&lt;P&gt;      IF V_FLAG_DEL &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;        IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-DISMODE = 'N'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-UPDMODE = 'S'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;IT_CTU_PARAMS-DEFSIZE = 'X'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;CALL TRANSACTION V_ME12&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;USING IT_BDCDATA&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;OPTIONS FROM IT_CTU_PARAMS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                     &lt;STRONG&gt;MESSAGES INTO IT_MSGTAB.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION V_ME11&lt;/P&gt;&lt;P&gt;             USING IT_BDCDATA&lt;/P&gt;&lt;P&gt;             MODE V_DISP&lt;/P&gt;&lt;P&gt;             UPDATE V_SUPD MESSAGES INTO IT_MSGTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        IF NOT IT_MSGTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-REC_NO = V_REC_NO.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-ETYPE = 'E'.&lt;/P&gt;&lt;P&gt;          PERFORM BUILD_MESSAGES.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF NOT IT_MSGTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-REC_NO = V_REC_NO.&lt;/P&gt;&lt;P&gt;          IT_MESSAGES-ETYPE = 'S'.&lt;/P&gt;&lt;P&gt;          LOOP AT IT_MSGTAB WHERE MSGTYP = 'S'.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                MSGID               = IT_MSGTAB-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = IT_MSGTAB-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = IT_MSGTAB-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = IT_MSGTAB-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = IT_MSGTAB-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = IT_MSGTAB-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = V_ERRTEXT&lt;/P&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;P&gt;                OTHERS              = 1.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          APPEND IT_MESSAGES.&lt;/P&gt;&lt;P&gt;          CLEAR IT_MESSAGES.&lt;/P&gt;&lt;P&gt;          CLEAR V_ERRTEXT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR: IT_BDCDATA, IT_MSGTAB.&lt;/P&gt;&lt;P&gt;      REFRESH : IT_BDCDATA, IT_MSGTAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_UPLOAD&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  DISPLAY_MESSAGES&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 DISPLAY_MESSAGES.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MESSAGES.&lt;/P&gt;&lt;P&gt;    WRITE:/1 IT_MESSAGES-REC_NO.&lt;/P&gt;&lt;P&gt;    IF IT_MESSAGES-ETYPE = 'E'.&lt;/P&gt;&lt;P&gt;      WRITE: AT 15&lt;/P&gt;&lt;P&gt;    'Record in the file is not suitable for Info record creation.'(005),&lt;/P&gt;&lt;P&gt;             'Error message is:'(006).&lt;/P&gt;&lt;P&gt;      WRITE: /15 IT_MESSAGES-MESSAGE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:AT 15 IT_MESSAGES-MESSAGE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " DISPLAY_MESSAGES&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  REPORT_HEADER&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 REPORT_HEADER.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TITLE  = SY-TITLE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 1.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " REPORT_HEADER&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  GENERATE_BDC_TABLE&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 GENERATE_BDC_TABLE.&lt;/P&gt;&lt;P&gt;  DATA: V_MATEXT(1).&lt;/P&gt;&lt;P&gt;  PERFORM : BDC_DYNPRO        USING 'SAPMM06I' '0100',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_CURSOR' 'EINA-LIFNR',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINA-LIFNR' IT_PURCH_INFO-LIFNR,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINA-MATNR' IT_PURCH_INFO-MATNR,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINE-EKORG' IT_PURCH_INFO-EKORG,&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'EINE-WERKS' IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;  IF IT_PURCH_INFO-KONSI = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RM06I-KONSI' 'X'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RM06I-NORMB' 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD    USING 'EINA-INFNR' EINA-INFNR.  "1st Sep 2006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_MATEXT = 'Y'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0101',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;            BDC_FIELD         USING 'BDC_CURSOR' 'EINA-MAHN3'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN1' IT_PURCH_INFO-MAHN1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN2' IT_PURCH_INFO-MAHN2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MAHN3 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MAHN3' IT_PURCH_INFO-MAHN3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-IDNLF IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-IDNLF' IT_PURCH_INFO-IDNLF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTSNR IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LTSNR' IT_PURCH_INFO-LTSNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTSSF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LTSSF' IT_PURCH_INFO-LTSSF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-WGLIF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-WGLIF' IT_PURCH_INFO-WGLIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-ANZPU  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-ANZPU' IT_PURCH_INFO-ANZPU.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-PUNEI IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-PUNEI' IT_PURCH_INFO-PUNEI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-VERKF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-VERKF' IT_PURCH_INFO-VERKF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-TELF1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-TELF1' IT_PURCH_INFO-TELF1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-RUECK  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-RUECK' IT_PURCH_INFO-RUECK.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-KOLIF IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-KOLIF' IT_PURCH_INFO-KOLIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MEINS  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-MEINS' IT_PURCH_INFO-MEINS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-UMREN  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-UMREN' IT_PURCH_INFO-UMREN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-UMREZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-UMREZ' IT_PURCH_INFO-UMREZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-VABME  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-VABME' IT_PURCH_INFO-VABME.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZTP  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZTP' IT_PURCH_INFO-URZTP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZNR  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZNR' IT_PURCH_INFO-URZNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZDT IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZDT' IT_PURCH_INFO-URZDT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-URZLA IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZLA' IT_PURCH_INFO-URZLA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-REGIO  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-REGIO' IT_PURCH_INFO-REGIO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-URZZT  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-URZZT' IT_PURCH_INFO-URZZT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LIFAB IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LIFAB' IT_PURCH_INFO-LIFAB.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LIFBI  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-LIFBI' IT_PURCH_INFO-LIFBI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-RELIF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINA-RELIF' IT_PURCH_INFO-RELIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0102'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'KO'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'EINE-APLFZ'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-APLFZ IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-APLFZ' IT_PURCH_INFO-APLFZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-BSTAE IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-BSTAE' IT_PURCH_INFO-BSTAE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'EINE-WEBRE' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MWSKZ IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MWSKZ' IT_PURCH_INFO-MWSKZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  IT_PURCH_INFO-EKGRP IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EKGRP' IT_PURCH_INFO-EKGRP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-NORBM  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-NORBM' IT_PURCH_INFO-NORBM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MINBM  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MINBM' IT_PURCH_INFO-MINBM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MHDRZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MHDRZ' IT_PURCH_INFO-MHDRZ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-EVERS  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EVERS' IT_PURCH_INFO-EVERS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF V_MATEXT NE 'Y'.&lt;/P&gt;&lt;P&gt;    IF NOT  IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-NETPR' IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT  IT_PURCH_INFO-WAERS IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-WAERS' IT_PURCH_INFO-WAERS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-PEINH IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-PEINH' IT_PURCH_INFO-PEINH.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPRME IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPRME' IT_PURCH_INFO-BPRME.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPUMN  IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPUMN' IT_PURCH_INFO-BPUMN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT IT_PURCH_INFO-BPUMZ  IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'EINE-BPUMZ' IT_PURCH_INFO-BPUMZ.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MEPRF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-MEPRF' IT_PURCH_INFO-MEPRF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-INCO1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-INCO1' IT_PURCH_INFO-INCO1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-INCO2  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-INCO2' IT_PURCH_INFO-INCO2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SKTOF  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-SKTOF' IT_PURCH_INFO-SKTOF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-EKKOL  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'EINE-EKKOL' IT_PURCH_INFO-EKKOL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR V_DATAB.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE_EXTERNAL = IT_PURCH_INFO-DATAB&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      DATE_INTERNAL = V_DATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE V_DATAB TO IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR V_DATBI.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE_EXTERNAL = IT_PURCH_INFO-DATBI&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      DATE_INTERNAL = V_DATBI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE V_DATBI TO IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;  REFRESH IT_A017.&lt;/P&gt;&lt;P&gt;  CLEAR V_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_MATEXT EQ 'Y'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;        LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;        OTHERS           = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = V_LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO-KONSI IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE KNUMH FROM A017 INTO V_KNUMH&lt;/P&gt;&lt;P&gt;             WHERE KSCHL = 'PB00'&lt;/P&gt;&lt;P&gt;               AND LIFNR = V_LIFNR&lt;/P&gt;&lt;P&gt;               AND MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;               AND ESOKZ = '0'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT KNUMH DATAB DATBI FROM A017 INTO TABLE IT_A017&lt;/P&gt;&lt;P&gt;             WHERE KSCHL = 'PB00'&lt;/P&gt;&lt;P&gt;               AND LIFNR = V_LIFNR&lt;/P&gt;&lt;P&gt;               AND MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;               AND ESOKZ = '2'.&lt;/P&gt;&lt;P&gt;      SORT IT_A017 BY DATBI DESCENDING.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE IT_A017 LINES V_NO.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_A017 INDEX 1.&lt;/P&gt;&lt;P&gt;      V_KNUMH = IT_A017.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR V_KONP.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE KOPOS FROM  KONP INTO V_KONP&lt;/P&gt;&lt;P&gt;                 WHERE KNUMH = V_KNUMH&lt;/P&gt;&lt;P&gt;                   AND LOEVM_KO NE 'X'.&lt;/P&gt;&lt;P&gt;    WHILE V_KONP GT 4. &lt;STRONG&gt;(when konp value greater than 4 rows in the table control )&lt;/STRONG&gt;      *&lt;STRONG&gt;V_CNT = V_CNT + 1.&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_KONP = V_KONP - 3.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;ENDWHILE.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;IF V_KONP = 4.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_KONP = 1.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;      &lt;STRONG&gt;V_CNT = V_CNT + 1.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    &lt;STRONG&gt;ENDIF.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;    IF NOT V_IFNR = 'X'&lt;/P&gt;&lt;P&gt;       AND V_DEL  NE 'X'.                                      "DEVK963326&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPLV14A' '0102'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'PICK'.&lt;/P&gt;&lt;P&gt;      IF V_NO IS INITIAL.&lt;/P&gt;&lt;P&gt;        V_NO = '01'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'VAKE-DATBI(' V_NO ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;    IF IT_PURCH_INFO-FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF NOT V_IFNR =  'X'&lt;/P&gt;&lt;P&gt;         AND V_DEL  NE 'X'.                                      "DEVK963306&lt;/P&gt;&lt;P&gt;        &lt;STRONG&gt;DO V_CNT TIMES.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '=P+'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;          &lt;STRONG&gt;PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        &lt;STRONG&gt;ENDDO.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KSCHL(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '=DLIN'.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'RV130-SELKZ(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*DEVK963324&lt;/P&gt;&lt;P&gt;      IF V_DEL = 'X'.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_KONP = V_KONP + 1.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT V_IFNR = 'X'&lt;/P&gt;&lt;P&gt;         AND V_DEL  NE 'X'.                                      "DEVK963326&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' V_STR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KSCHL(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR 'PB00'.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT IT_PURCH_INFO-NETPR IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'KONP-KBETR(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;        PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-NETPR.&lt;/P&gt;&lt;P&gt;        CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KONWA(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-WAERS.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KPEIN(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-PEINH.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KMEIN(' V_KONP ')' INTO V_STR.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD       USING V_STR IT_PURCH_INFO-BPRME.&lt;/P&gt;&lt;P&gt;      CLEAR V_STR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'RV13A-DATAB'.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;      PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_DYNPRO        USING 'SAPMV13A' '0201'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BACK'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'RV13A-DATAB'.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RV13A-DATAB' IT_PURCH_INFO-DATAB.&lt;/P&gt;&lt;P&gt;    PERFORM:  BDC_FIELD         USING 'RV13A-DATBI' IT_PURCH_INFO-DATBI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0102'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'TEXT'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_CURSOR' 'EINE-APLFZ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_DYNPRO        USING 'SAPMM06I' '0103'.&lt;/P&gt;&lt;P&gt;  PERFORM:  BDC_FIELD         USING 'BDC_OKCODE' 'BU'.&lt;/P&gt;&lt;P&gt;  PERFORM:    BDC_FIELD         USING 'BDC_CURSOR' 'RM06I-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SELKZ1  IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-SELKZ(01)' IT_PURCH_INFO-SELKZ1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-SELKZ2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-SELKZ(02)' IT_PURCH_INFO-SELKZ2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTEX1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-LTEX1(01)' IT_PURCH_INFO-LTEX1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-LTEX2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM: BDC_FIELD         USING 'RM06I-LTEX1(02)' IT_PURCH_INFO-LTEX2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR V_MATEXT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GENERATE_BDC_TABLE&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  BDC_DYNPRO&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 BDC_DYNPRO USING  PROG DYNP.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-PROGRAM  = PROG.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNPRO   = DYNP.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_DYNPRO&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  BDC_FIELD&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 BDC_FIELD USING  FNAM FVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_FIELD&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  BUILD_MESSAGES&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 BUILD_MESSAGES.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MSGTAB WHERE MSGTYP = 'E'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        MSGID               = IT_MSGTAB-MSGID&lt;/P&gt;&lt;P&gt;        MSGNR               = IT_MSGTAB-MSGNR&lt;/P&gt;&lt;P&gt;        MSGV1               = IT_MSGTAB-MSGV1&lt;/P&gt;&lt;P&gt;        MSGV2               = IT_MSGTAB-MSGV2&lt;/P&gt;&lt;P&gt;        MSGV3               = IT_MSGTAB-MSGV3&lt;/P&gt;&lt;P&gt;        MSGV4               = IT_MSGTAB-MSGV4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        MESSAGE_TEXT_OUTPUT = V_ERRTEXT&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        OTHERS              = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MSGTAB WITH KEY MSGID = '00' MSGNR = '055'.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE IT_MSGTAB-FLDNAME ': ' V_ERRTEXT INTO V_ERRTEXT.&lt;/P&gt;&lt;P&gt;        IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IT_MESSAGES-MESSAGE = V_ERRTEXT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESSAGES.&lt;/P&gt;&lt;P&gt;  CLEAR IT_MESSAGES.&lt;/P&gt;&lt;P&gt;  CLEAR V_ERRTEXT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_MESSAGES&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  UNIX_UPLOAD&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 UNIX_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    READ DATASET P_FILE INTO V_TEXT.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SPLIT V_TEXT AT CL_ABAP_CHAR_UTILITIES=&amp;gt;HORIZONTAL_TAB&lt;/P&gt;&lt;P&gt;              INTO IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKORG&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WERKS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-KONSI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MAHN3&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-IDNLF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTSNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTSSF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WGLIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-ANZPU&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-PUNEI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-VERKF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-TELF1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-RUECK&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-KOLIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MEINS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-UMREN&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-UMREZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-VABME&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZTP&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZNR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZDT&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZLA&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-REGIO&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-URZZT&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LIFAB&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LIFBI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-RELIF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-APLFZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BSTAE&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MWSKZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKGRP&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-NORBM&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MINBM&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MHDRZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EVERS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-NETPR&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-WAERS&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-PEINH&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPRME&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPUMN&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-BPUMZ&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-MEPRF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-INCO1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-INCO2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SKTOF&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-EKKOL&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SELKZ1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTEX1&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-SELKZ2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-LTEX2&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-DATAB&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-DATBI&lt;/P&gt;&lt;P&gt;                   IT_PURCH_INFO-FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND IT_PURCH_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_FILE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UNIX_UPLOAD&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  TEST&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 TEST.&lt;/P&gt;&lt;P&gt;  CLEAR V_INFO.&lt;/P&gt;&lt;P&gt;  IF IT_PURCH_INFO-KONSI = 'X'.&lt;/P&gt;&lt;P&gt;    V_INFO = '2'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    V_INFO = '0'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR: V_FLAG, V_FLAG_DEL, V_FLAG_MAT.&lt;/P&gt;&lt;P&gt;  TRANSLATE IT_PURCH_INFO-MATNR TO UPPER CASE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      INPUT            = IT_PURCH_INFO-MATNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      OUTPUT           = V_MATNR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NUMBER_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      LENGTH_ERROR     = 2&lt;/P&gt;&lt;P&gt;      OTHERS           = 3.&lt;/P&gt;&lt;P&gt;  IF NOT IT_PURCH_INFO-MATNR IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM MARC&lt;/P&gt;&lt;P&gt;          WHERE MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;            AND WERKS = IT_PURCH_INFO-WERKS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      V_FLAG_MAT = 'X'.&lt;/P&gt;&lt;P&gt;      MOVE IT_PURCH_INFO-MATNR TO IT_MATERIAL-MATNR.&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;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      INPUT  = IT_PURCH_INFO-LIFNR&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      OUTPUT = V_LIFNR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: V_FLAG, V_IFNR.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM EINA&lt;/P&gt;&lt;P&gt;         WHERE MATNR = V_MATNR&lt;/P&gt;&lt;P&gt;           AND LIFNR = V_LIFNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    IF EINA-LOEKZ &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM EINE&lt;/P&gt;&lt;P&gt;             WHERE INFNR = EINA-INFNR&lt;/P&gt;&lt;P&gt;              AND  WERKS = IT_PURCH_INFO-WERKS&lt;/P&gt;&lt;P&gt;              AND  LOEKZ &amp;lt;&amp;gt; 'X'&lt;/P&gt;&lt;P&gt;              AND  ESOKZ = V_INFO.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        IT_PURCH_INFO-FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        MODIFY IT_PURCH_INFO  TRANSPORTING FLAG.&lt;/P&gt;&lt;P&gt;        V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        V_IFNR = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      V_FLAG_DEL = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TEST&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  MATERIAL_ERROR&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 MATERIAL_ERROR .&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MATERIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /5 'Material', IT_MATERIAL-MATNR, 'does not exist'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MATERIAL_ERROR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naveed khan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 May 2008 15:18:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-table-controls/m-p/3850138#M925604</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-09T15:18:51Z</dc:date>
    </item>
  </channel>
</rss>

