<?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: regarding report program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406913#M536575</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hareesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The internal table that you are going to use shall have a char(1) field to hold the check box. And whenever you shall click on the checkboxes the internal table shall get edited and the field that is meant for the check box shall hold 'X' against the record selected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would like to see the code, it is below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Saying thanks in SDN is by awarding points.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VB_AKAP,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         PMATN      TYPE PMATN,                          "Pricing Reference Material/Newly Created Material&lt;/P&gt;&lt;P&gt;         KWMENG     TYPE KWMENG,                         "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        NETPR      TYPE NETPR,                          "Net Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         VKAUS      TYPE ABRVW,                          "Usage Indicator&lt;/P&gt;&lt;P&gt;       END   OF TY_VB_AKAP,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MARA,&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;       END   OF TY_MARA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MVKE,&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         VKORG      TYPE VKORG,                          "Sales Organization&lt;/P&gt;&lt;P&gt;         VTWEG      TYPE VTWEG,                          "Distribution Channel&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;       END   OF TY_MVKE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VBKD,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         BSTKD_E    TYPE BSTKD_E,                        "Used to capture New Material Number&lt;/P&gt;&lt;P&gt;       END   OF TY_VBKD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_IHEADER,&lt;/P&gt;&lt;P&gt;         SELECT(1)  TYPE C,                              "Check Box&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN,                          "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to Party&lt;/P&gt;&lt;P&gt;       END   OF TY_IHEADER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MESSAGE1,&lt;/P&gt;&lt;P&gt;        VKORG     TYPE VKORG,                            "Sales Organization&lt;/P&gt;&lt;P&gt;        VTWEG     TYPE VTWEG,                            "Distribution Channel&lt;/P&gt;&lt;P&gt;        KUNNR     TYPE KUNAG,                            "Customer number&lt;/P&gt;&lt;P&gt;        KONDM     TYPE KONDM,                            "Material pricing group&lt;/P&gt;&lt;P&gt;        ZCOUNT(2) TYPE N,                                "Zcount&lt;/P&gt;&lt;P&gt;        MSGTYP(1) TYPE C,                                "Message type&lt;/P&gt;&lt;P&gt;        TEXT(150) TYPE C,                                "Message text&lt;/P&gt;&lt;P&gt;       END OF TY_MESSAGE1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MESSAGE2,&lt;/P&gt;&lt;P&gt;        VKORG     TYPE VKORG,                            "Sales Organization&lt;/P&gt;&lt;P&gt;        VTWEG     TYPE VTWEG,                            "Distribution Channel&lt;/P&gt;&lt;P&gt;        KUNNR     TYPE KUNAG,                            "Customer number&lt;/P&gt;&lt;P&gt;        MATNR     TYPE MATNR,                            "Material Number&lt;/P&gt;&lt;P&gt;        MSGTYP(1) TYPE C,                                "Message type&lt;/P&gt;&lt;P&gt;        TEXT(150) TYPE C,                                "Message text&lt;/P&gt;&lt;P&gt;       END OF TY_MESSAGE2,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_IFINAL,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KWMENG     TYPE KWMENG,                         "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         VKAUS      TYPE ABRVW,                          "Usage Indicator&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         PMATN      TYPE PMATN,                          "Pricing Reference Material/Newly Created Material&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;       END   OF TY_IFINAL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_ACC1,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;         ZCOUNT(2)  TYPE N,                              "ZCount indicator&lt;/P&gt;&lt;P&gt;         KSTBM      TYPE KSTBM,                          "Quantity&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         ERROR(1)   TYPE N,                              "Error Field&lt;/P&gt;&lt;P&gt;       END   OF TY_ACC1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_ACC2,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         KSTBM      TYPE KSTBM,                          "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         ERROR(1)   TYPE N,                              "Error field&lt;/P&gt;&lt;P&gt;       END   OF TY_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   D A T A                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,           "Fieldcatalog IT&lt;/P&gt;&lt;P&gt;      T_EVENTS       TYPE SLIS_T_EVENT,                  "Event IT&lt;/P&gt;&lt;P&gt;      T_HEADER       TYPE SLIS_T_LISTHEADER,             "Header IT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      T_VB_AKAP      TYPE STANDARD TABLE OF TY_VB_AKAP,  "To hold records from VBAK &amp;amp; VBAP Table&lt;/P&gt;&lt;P&gt;      T_MARA         TYPE STANDARD TABLE OF TY_MARA,     "To hold records from MARA Table&lt;/P&gt;&lt;P&gt;      T_MVKE         TYPE STANDARD TABLE OF TY_MVKE,     "To hold records from MVKE Table&lt;/P&gt;&lt;P&gt;      T_VBKD         TYPE STANDARD TABLE OF TY_VBKD,     "To hold records from VBKD Table&lt;/P&gt;&lt;P&gt;      T_IHEADER      TYPE STANDARD TABLE OF TY_IHEADER,  "To hold records from VBAK Table&lt;/P&gt;&lt;P&gt;      T_IFINAL       TYPE STANDARD TABLE OF TY_IFINAL,   "To hold cumulative data for ALV&lt;/P&gt;&lt;P&gt;      T_BDCDATA      TYPE STANDARD TABLE OF BDCDATA,     "IT for bdcdata&lt;/P&gt;&lt;P&gt;      T_BDCMSGCOLL   TYPE STANDARD TABLE OF BDCMSGCOLL,  "IT for error messages&lt;/P&gt;&lt;P&gt;      T_MESSAGE1     TYPE STANDARD TABLE OF TY_MESSAGE1, "IT for conditions1 messages&lt;/P&gt;&lt;P&gt;      T_MESSAGE2     TYPE STANDARD TABLE OF TY_MESSAGE2, "IT for conditions2 messages&lt;/P&gt;&lt;P&gt;      T_ACC2         TYPE STANDARD TABLE OF TY_ACC2,     "IT for holding data for Second Access Sequence Processing&lt;/P&gt;&lt;P&gt;      T_ACC1         TYPE STANDARD TABLE OF TY_ACC1,     "IT for holding data for First Access Sequence Processing&lt;/P&gt;&lt;P&gt;      T_SELECT       TYPE STANDARD TABLE OF RSPARAMS,    "IT for holding data related to the selection screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************&lt;/P&gt;&lt;P&gt;      W_FIELDCATALOG TYPE SLIS_FIELDCAT_ALV,             "Fieldcatalog WA&lt;/P&gt;&lt;P&gt;      W_EVENT        TYPE SLIS_ALV_EVENT,                "Event WA&lt;/P&gt;&lt;P&gt;      W_HEADER       TYPE SLIS_LISTHEADER,               "Header WA&lt;/P&gt;&lt;P&gt;      W_LAYOUT       TYPE SLIS_LAYOUT_ALV,               "Layout WA&lt;/P&gt;&lt;P&gt;      W_KEYINFO      TYPE SLIS_KEYINFO_ALV,              "Key Information WA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_VB_AKAP      TYPE TY_VB_AKAP,                    "To hold records from T_VB_AKAP&lt;/P&gt;&lt;P&gt;      W_MARA         TYPE TY_MARA,                       "To hold records from T_MARA&lt;/P&gt;&lt;P&gt;      W_MVKE         TYPE TY_MVKE,                       "To hold records from T_MVKE&lt;/P&gt;&lt;P&gt;      W_VBKD         TYPE TY_VBKD,                       "To hold records from T_VBKD&lt;/P&gt;&lt;P&gt;      W_IHEADER      TYPE TY_IHEADER,                    "To hold records from T_IHEADER&lt;/P&gt;&lt;P&gt;      W_IFINAL       TYPE TY_IFINAL,                     "To hold records from T_IFINAL&lt;/P&gt;&lt;P&gt;      W_PARAMS       TYPE CTU_PARAMS,                    "CTU Params&lt;/P&gt;&lt;P&gt;      W_BDCDATA      TYPE BDCDATA,                       "Work Area for BDCDATA&lt;/P&gt;&lt;P&gt;      W_BDCMSGCOLL   TYPE BDCMSGCOLL,                    "Work Area to collect BDC Messages&lt;/P&gt;&lt;P&gt;      W_MESSAGE1     TYPE TY_MESSAGE1,                   "WA for price conditions1 messages&lt;/P&gt;&lt;P&gt;      W_MESSAGE2     TYPE TY_MESSAGE2,                   "WA for price conditions2 messages&lt;/P&gt;&lt;P&gt;      W_ACC2         TYPE TY_ACC2,                       "WA for holding records from T_ACC2&lt;/P&gt;&lt;P&gt;      W_ACC1         TYPE TY_ACC1,                       "WA for holding records from T_ACC1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_AUDAT       TYPE AUDAT,                          "Document Date (Date Received/Sent)&lt;/P&gt;&lt;P&gt;      G_VBELN       TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;      G_KUNNR       TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;      G_MATNR       TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;      G_REPID       TYPE SY-REPID,                       "Program Name&lt;/P&gt;&lt;P&gt;      G_MESSAGE(73) TYPE C,                              "To Capture Message&lt;/P&gt;&lt;P&gt;      G_FLAG1(1)    TYPE C,                              "Flag&lt;/P&gt;&lt;P&gt;      G_ANSWER(1)   TYPE C.                              "Optional Button&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constant declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      C_A(1)         TYPE C VALUE 'A',                    "Constant Value A&lt;/P&gt;&lt;P&gt;      C_S(1)         TYPE C VALUE 'S',                    "Constant Value S&lt;/P&gt;&lt;P&gt;      C_U(1)         TYPE C VALUE 'U',                    "Constant Value U&lt;/P&gt;&lt;P&gt;      C_X(1)         TYPE C VALUE 'X',                    "Constant Value X&lt;/P&gt;&lt;P&gt;      C_E(1)         TYPE C VALUE 'E',                    "Constant Value E&lt;/P&gt;&lt;P&gt;      C_I(1)         TYPE C VALUE 'I',                    "Constant Value I&lt;/P&gt;&lt;P&gt;      C_R(1)         TYPE C VALUE 'R',                    "Constant Value R&lt;/P&gt;&lt;P&gt;      C_B(1)         TYPE C VALUE 'B',                    "Document Category is Quotation&lt;/P&gt;&lt;P&gt;      C_HTNAME(10)   TYPE C VALUE 'T_IHEADER',            "Internal table for Header Data&lt;/P&gt;&lt;P&gt;      C_ITNAME(10)   TYPE C VALUE 'T_IFINAL',             "Internal Table with processed data&lt;/P&gt;&lt;P&gt;      C_Q2(2)        TYPE C VALUE 'Q2',                   "Constant Order Reason Q2&lt;/P&gt;&lt;P&gt;      C_100(3)       TYPE C VALUE '100',                  "Popup screen&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     C_046(3)       TYPE C VALUE '046',                    "Value 046&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     C_047(3)       TYPE C VALUE '047',                    "Value 047&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      C_25(2)        TYPE C VALUE '25',                   "Popup screen&lt;/P&gt;&lt;P&gt;      C_5(1)         TYPE C VALUE '5',                    "Popup screen&lt;/P&gt;&lt;P&gt;      C_1            TYPE I VALUE  1,                     "Value 1 for Error Denotion&lt;/P&gt;&lt;P&gt;      C_2            TYPE I VALUE  2,                     "Value 2 for Error Denotion&lt;/P&gt;&lt;P&gt;      C_3            TYPE I VALUE  3,                     "Value 3 for BDC Error Denotion&lt;/P&gt;&lt;P&gt;      C_1000(4)      TYPE N VALUE 1000,                     "Value 1000&lt;/P&gt;&lt;P&gt;      C_01(2)        TYPE N VALUE '01',                   "Value 01 for Zcount&lt;/P&gt;&lt;P&gt;      C_VK11(4)      TYPE C VALUE 'VK11',                 "Transaction VK11&lt;/P&gt;&lt;P&gt;      C_DYNBEGIN(1)  TYPE C VALUE 'X',                    "Indicator&lt;/P&gt;&lt;P&gt;      C_UPDATE(1)    TYPE C VALUE 'S',                    "Update&lt;/P&gt;&lt;P&gt;      C_DISMODE(1)   TYPE C VALUE 'N',                    "Display&lt;/P&gt;&lt;P&gt;      C_ZBPR(4)      TYPE C VALUE 'ZBPR',                 "Condition Type ZBPR&lt;/P&gt;&lt;P&gt;      C_ERROR(5)     TYPE C VALUE 'ERROR'.                "Error screen title&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   S E L E C T   O P T I O N S  &amp;amp;  P A R A M E T E R S               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection-screen Block 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:     P_VKORG TYPE VKORG OBLIGATORY,           "Sales Organization&lt;/P&gt;&lt;P&gt;                P_VTWEG TYPE VTWEG OBLIGATORY,           "Distribution Channel&lt;/P&gt;&lt;P&gt;                P_SPART TYPE SPART DEFAULT '00'.         "Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_AUDAT FOR G_AUDAT,                     "Document Date (Date Received/Sent)&lt;/P&gt;&lt;P&gt;                S_VBELN FOR G_VBELN,                     "Sales Document&lt;/P&gt;&lt;P&gt;                S_KUNNR FOR G_KUNNR,                     "Sold-to party&lt;/P&gt;&lt;P&gt;                S_MATNR FOR G_MATNR.                     "Material Number&lt;/P&gt;&lt;P&gt;PARAMETERS:     P_VKAUS(2) TYPE N.                       "Usage Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I N I T I A L I Z A T I O N                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : G_REPID.                                       "Program Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_REPID = SY-REPID.                                    "Program Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  A T   S E L E C T I O N   S C R E E N                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  S T A R T   O F   S E L E C T I O N                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Bulid layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Captures the Values of Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CAPTURE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E N D   O F   S E L E C T I O N                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  F O R M S                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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  DATA_RETRIEVAL&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;      Retrieves Data for ALV Display&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 DATA_RETRIEVAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_VKAUS   TYPE VKAUS.            "Variable to hold Usage Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         KUNNR&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE T_IHEADER&lt;/P&gt;&lt;P&gt;    FROM VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN IN S_VBELN&lt;/P&gt;&lt;P&gt;      AND KUNNR IN S_KUNNR&lt;/P&gt;&lt;P&gt;      AND VKORG EQ P_VKORG&lt;/P&gt;&lt;P&gt;      AND AUDAT IN S_AUDAT&lt;/P&gt;&lt;P&gt;      AND VTWEG EQ P_VTWEG&lt;/P&gt;&lt;P&gt;      AND SPART EQ P_SPART&lt;/P&gt;&lt;P&gt;      AND AUGRU EQ C_Q2&lt;/P&gt;&lt;P&gt;      AND VBTYP EQ C_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_IHEADER IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT P_VKAUS IS INITIAL OR P_VKAUS NE C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'C' P_VKAUS INTO L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT A~VBELN&lt;/P&gt;&lt;P&gt;             A~KUNNR&lt;/P&gt;&lt;P&gt;             B~POSNR&lt;/P&gt;&lt;P&gt;             B~MATNR&lt;/P&gt;&lt;P&gt;             B~PMATN&lt;/P&gt;&lt;P&gt;             B~KWMENG&lt;/P&gt;&lt;P&gt;             B~VRKME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            B~NETPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             B~KZWI1&lt;/P&gt;&lt;P&gt;             B~VKAUS&lt;/P&gt;&lt;P&gt;       INTO  TABLE T_VB_AKAP&lt;/P&gt;&lt;P&gt;       FROM  VBAK AS A&lt;/P&gt;&lt;P&gt;       JOIN  VBAP AS B&lt;/P&gt;&lt;P&gt;         ON  A~VBELN EQ B~VBELN&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_IHEADER&lt;/P&gt;&lt;P&gt;        WHERE A~VBELN EQ T_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;          AND B~MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;          AND B~VKAUS EQ L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT A~VBELN&lt;/P&gt;&lt;P&gt;             A~KUNNR&lt;/P&gt;&lt;P&gt;             B~POSNR&lt;/P&gt;&lt;P&gt;             B~MATNR&lt;/P&gt;&lt;P&gt;             B~PMATN&lt;/P&gt;&lt;P&gt;             B~KWMENG&lt;/P&gt;&lt;P&gt;             B~VRKME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            B~NETPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             B~KZWI1&lt;/P&gt;&lt;P&gt;             B~VKAUS&lt;/P&gt;&lt;P&gt;       INTO  TABLE T_VB_AKAP&lt;/P&gt;&lt;P&gt;       FROM  VBAK AS A&lt;/P&gt;&lt;P&gt;       JOIN  VBAP AS B&lt;/P&gt;&lt;P&gt;         ON  A~VBELN EQ B~VBELN&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_IHEADER&lt;/P&gt;&lt;P&gt;       WHERE A~VBELN EQ T_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;         AND B~MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_VB_AKAP IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT  VBELN&lt;/P&gt;&lt;P&gt;              POSNR&lt;/P&gt;&lt;P&gt;              BSTKD_E&lt;/P&gt;&lt;P&gt;         INTO TABLE T_VBKD&lt;/P&gt;&lt;P&gt;         FROM VBKD&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;         WHERE VBELN EQ T_VB_AKAP-VBELN&lt;/P&gt;&lt;P&gt;           AND POSNR EQ T_VB_AKAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_VBKD BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  After much of coding was completed, Usage of PMATN was dropped and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  the first eighteen characters of the field BSTKD was proposed for usage&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Hence PMATN is overwritten by BSTKD value in the below loop&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_VB_AKAP INTO W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_VBKD,&lt;/P&gt;&lt;P&gt;             W_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_VBKD INTO W_VBKD&lt;/P&gt;&lt;P&gt;                        WITH KEY VBELN = W_VB_AKAP-VBELN&lt;/P&gt;&lt;P&gt;                                 POSNR = W_VB_AKAP-POSNR&lt;/P&gt;&lt;P&gt;                        BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        W_VB_AKAP-PMATN = W_VBKD-BSTKD_E+0(18).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY T_VB_AKAP FROM W_VB_AKAP TRANSPORTING PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_VB_AKAP IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                ZZTECHSPEC&lt;/P&gt;&lt;P&gt;        INTO    TABLE T_MARA&lt;/P&gt;&lt;P&gt;        FROM    MARA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                ZZTECHSPEC&lt;/P&gt;&lt;P&gt;        APPENDING TABLE T_MARA&lt;/P&gt;&lt;P&gt;        FROM    MARA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                VKORG&lt;/P&gt;&lt;P&gt;                VTWEG&lt;/P&gt;&lt;P&gt;                KONDM&lt;/P&gt;&lt;P&gt;        INTO    TABLE T_MVKE&lt;/P&gt;&lt;P&gt;        FROM    MVKE&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MVKE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                VKORG&lt;/P&gt;&lt;P&gt;                VTWEG&lt;/P&gt;&lt;P&gt;                KONDM&lt;/P&gt;&lt;P&gt;        APPENDING TABLE T_MVKE&lt;/P&gt;&lt;P&gt;        FROM    MVKE&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MVKE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.                    " FOR T_VB_AKAP NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.                    " FOR T_IHEADER NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_VB_AKAP,&lt;/P&gt;&lt;P&gt;         W_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_VB_AKAP INTO W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_IFINAL-VBELN  = W_VB_AKAP-VBELN.&lt;/P&gt;&lt;P&gt;    W_IFINAL-KUNNR  = W_VB_AKAP-KUNNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-POSNR  = W_VB_AKAP-POSNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-MATNR  = W_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-PMATN  = W_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;    W_IFINAL-KWMENG = W_VB_AKAP-KWMENG.&lt;/P&gt;&lt;P&gt;    W_IFINAL-VRKME  = W_VB_AKAP-VRKME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   W_IFINAL-NETPR  = W_VB_AKAP-NETPR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    W_IFINAL-KZWI1  = ( W_VB_AKAP-KZWI1 / W_VB_AKAP-KWMENG ) * 1000.&lt;/P&gt;&lt;P&gt;    W_IFINAL-VKAUS  = W_VB_AKAP-VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populating Material Pricing Group from New Material Group, if such Group doesn't exist&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Population of Material Pricing Group from Material Number is tried.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Similar condition does suit for Tech Spec too.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT: T_MVKE BY MATNR VKORG VTWEG,&lt;/P&gt;&lt;P&gt;          T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT W_VB_AKAP-PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;      READ TABLE    T_MVKE&lt;/P&gt;&lt;P&gt;           INTO     W_MVKE&lt;/P&gt;&lt;P&gt;           WITH KEY MATNR = W_VB_AKAP-PMATN&lt;/P&gt;&lt;P&gt;                    VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                    VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-KONDM = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MARA&lt;/P&gt;&lt;P&gt;           INTO      W_MARA&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-PMATN&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-ZZTECHSPEC = W_MARA-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " SY-SUBRC FOR READ TABLE T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MVKE&lt;/P&gt;&lt;P&gt;           INTO      W_MVKE&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-MATNR&lt;/P&gt;&lt;P&gt;                     VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                     VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-KONDM = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MARA&lt;/P&gt;&lt;P&gt;           INTO      W_MARA&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-MATNR&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-ZZTECHSPEC = W_MARA-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " SY-SUBRC FOR READ TABLE T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     W_IFINAL-KONDM  =  W_MVKE-KONDM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    ENDIF.                              " IS INITIAL CHECK FOR W_MVKE-KONDM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND W_IFINAL TO T_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: W_VB_AKAP,&lt;/P&gt;&lt;P&gt;           W_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IFINAL BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Checking whether if there are any header quotations which does not have items against them in item internal table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if such records exist then, ensuring that such records gets deleted from header too, so that inconsitency is removed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_IHEADER.&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_IFINAL.&lt;/P&gt;&lt;P&gt;    READ TABLE T_IFINAL INTO W_IFINAL WITH KEY VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_IHEADER-SELECT = C_X.&lt;/P&gt;&lt;P&gt;      MODIFY T_IHEADER FROM W_IHEADER TRANSPORTING SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  DELETE T_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IFINAL BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&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  build_layout&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;      To build ALV Layout&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 BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : W_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_LAYOUT-COLWIDTH_OPTIMIZE = C_X.&lt;/P&gt;&lt;P&gt;  W_LAYOUT-BOX_TABNAME       = C_HTNAME.      "tabname for checkbox&lt;/P&gt;&lt;P&gt;  W_LAYOUT-BOX_FIELDNAME     = 'SELECT'.      "fieldname for checkbox&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : W_KEYINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_KEYINFO-HEADER01 = 'VBELN'.               "Header1 key information&lt;/P&gt;&lt;P&gt;  W_KEYINFO-ITEM01   = 'VBELN'.               "Item1 key information&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "build_layout&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  build_events&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;      To build ALV Events&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 BUILD_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_LIST_TYPE     = 1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ET_EVENTS       = T_EVENTS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE T_EVENTS INTO W_EVENT&lt;/P&gt;&lt;P&gt;                        WITH KEY NAME = C_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE C_TOP_OF_PAGE TO W_EVENT-FORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY T_EVENTS INDEX SY-TABIX&lt;/P&gt;&lt;P&gt;                      FROM  W_EVENT&lt;/P&gt;&lt;P&gt;                      TRANSPORTING FORM.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "build_events&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  top_of_page&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;      To display top of page in ALV Report&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 TOP_OF_PAGE.                                           "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_VKORG(35) TYPE C,                        "Sales Organization&lt;/P&gt;&lt;P&gt;    L_VTWEG(35) TYPE C,                        "Distribution Channel&lt;/P&gt;&lt;P&gt;    L_SPART(35) TYPE C.                        "Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR W_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_HEADER-TYP  = C_H.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_HEADER-INFO = TEXT-003.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Organization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-004 P_VKORG INTO L_VKORG.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_VKORG.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Distribution Channel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-005 P_VTWEG INTO L_VTWEG.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_VTWEG.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-006 P_SPART INTO L_SPART.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_SPART.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "top_of_page&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  pf_status&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;      To set PF-Status (user interface)&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;EXTAB     The excluding table (function codes)&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 PF_STATUS                                              "#EC CALLED&lt;/P&gt;&lt;P&gt;          USING T_EXTAB TYPE SLIS_T_EXTAB.                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "pf_status&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  display_alv_report&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;      To display ALV report&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 DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_PROGRAM             = G_REPID&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET       = 'PF_STATUS'&lt;/P&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     IS_LAYOUT                      = W_LAYOUT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                    = T_FIELDCATALOG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_DEFAULT                      = C_X&lt;/P&gt;&lt;P&gt;     I_SAVE                         = C_A&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                      = T_EVENTS[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_TABNAME_HEADER               = 'T_IHEADER'&lt;/P&gt;&lt;P&gt;     I_TABNAME_ITEM                 = 'T_IFINAL'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IS_KEYINFO                     = W_KEYINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_HIERSEQ_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB_HEADER                = T_IHEADER&lt;/P&gt;&lt;P&gt;      T_OUTTAB_ITEM                  = T_IFINAL&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;     OTHERS                         = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "display_alv_report&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  BUILD_FIELDCATALOG&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;      To build ALV Field Catalog&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;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATALOG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_COUNT TYPE I VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'SELECT'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C01.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-CHECKBOX    =  C_X.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EDIT        =  C_X.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VBELN'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C02.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-KEY         =  C_X.   "Fixes the column for no-scroll&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KUNNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C04.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'POSNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C03.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KWMENG'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C06.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VRKME'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C07.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-JUST        =  C_R.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_FIELDCATALOG-FIELDNAME   = 'NETPR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KZWI1'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C08.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VKAUS'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C12.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-JUST        =  C_R.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'ZZTECHSPEC'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C09.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C05.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'PMATN'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C10.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KONDM'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C11.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELDCATALOG&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  user_command&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;      EXIT routine for command handling&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;L_UCOMM      Function code that PAI triggered&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;W_SELFIELD   Information cursor position ALV&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;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING L_UCOMM    LIKE SY-UCOMM            "#EC CALLED&lt;/P&gt;&lt;P&gt;                        W_SELFIELD TYPE SLIS_SELFIELD.      "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE L_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CREATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SORT T_IHEADER BY SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_IHEADER INTO W_IHEADER&lt;/P&gt;&lt;P&gt;                          WITH KEY SELECT = C_X&lt;/P&gt;&lt;P&gt;                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE I000(ZS) WITH TEXT-M01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR : G_ANSWER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dialog box for save prompts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            TEXT_QUESTION         = TEXT-OP1&lt;/P&gt;&lt;P&gt;            DISPLAY_CANCEL_BUTTON = ''&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            ANSWER                = G_ANSWER&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            TEXT_NOT_FOUND        = 1&lt;/P&gt;&lt;P&gt;            OTHERS                = 2.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF G_ANSWER = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SET PF-STATUS 'ZSTANDARD_SCREEN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM DATA_IDENTITY_4_ACCESS_SEQ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM CREATE_CONDITIONS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM DISPLAY_RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;REFRESH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SUBMIT ZSPRENH069 USING SELECTION-SCREEN 1000&lt;/P&gt;&lt;P&gt;                        WITH SELECTION-TABLE T_SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACKTO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SUBMIT ZSPRENH069 USING SELECTION-SCREEN 1000&lt;/P&gt;&lt;P&gt;                        WITH SELECTION-TABLE T_SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "user_command&lt;/P&gt;&lt;P&gt;&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  DATA_IDENTITY_4_ACCESS_SEQ&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; Seperates the Available Data for processing for both Access Sequences&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;&lt;/P&gt;&lt;P&gt;FORM DATA_IDENTITY_4_ACCESS_SEQ .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : W_IFINAL,&lt;/P&gt;&lt;P&gt;          W_ACC1,&lt;/P&gt;&lt;P&gt;          W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_IFINAL INTO W_IFINAL WHERE VBELN EQ W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_IFINAL-PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;        READ TABLE    T_MVKE&lt;/P&gt;&lt;P&gt;             INTO     W_MVKE&lt;/P&gt;&lt;P&gt;             WITH KEY MATNR = W_IFINAL-PMATN&lt;/P&gt;&lt;P&gt;                      VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                      VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF NOT W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC2-ERROR = C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.       " ZCOUNT exists for the material&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC2-MATNR       = W_IFINAL-PMATN.&lt;/P&gt;&lt;P&gt;          W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.          "Material Pricing Group exists for the records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC1-KONDM       = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-MATNR       = W_IFINAL-PMATN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_ACC1-ZCOUNT = C_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC1-ZCOUNT = W_IFINAL-VKAUS+1(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR W_ACC1-ERROR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VBELN      = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC1-KUNNR      = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VRKME      = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC1-ZZTECHSPEC = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC1-KSTBM      = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC1-KZWI1      = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC1 TO T_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.   "New Material Number doesn't exist&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;        READ TABLE     T_MVKE&lt;/P&gt;&lt;P&gt;             INTO      W_MVKE&lt;/P&gt;&lt;P&gt;             WITH KEY  MATNR = W_IFINAL-MATNR&lt;/P&gt;&lt;P&gt;                       VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                       VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF NOT W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC2-ERROR = C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC2-MATNR       = W_IFINAL-MATNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.          "Material Pricing Group exists for the records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC1-KONDM       = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-MATNR       = W_IFINAL-MATNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_ACC1-ZCOUNT = C_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC1-ZCOUNT = W_IFINAL-VKAUS+1(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR W_ACC1-ERROR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VBELN      = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC1-KUNNR      = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VRKME      = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC1-ZZTECHSPEC = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC1-KSTBM      = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC1-KZWI1      = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC1 TO T_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " CHECK FOR W_IFINAL-PMATN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_ACC1,&lt;/P&gt;&lt;P&gt;             W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " T_IFINAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.                          " T_IHEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                          " DATA_IDENTITY_4_ACCESS_SEQ&lt;/P&gt;&lt;P&gt;&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  CREATE_CONDITIONS&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;      Creates the Condition Records for first two access sequences&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;&lt;/P&gt;&lt;P&gt;FORM CREATE_CONDITIONS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_ERROREXIST(1) TYPE C,&lt;/P&gt;&lt;P&gt;         L_KONDM         TYPE KONDM,&lt;/P&gt;&lt;P&gt;         L_KSTBM(18)     TYPE C,&lt;/P&gt;&lt;P&gt;         L_KBETR(13)     TYPE C,&lt;/P&gt;&lt;P&gt;         L_FLAG_NEW(1)   TYPE C,&lt;/P&gt;&lt;P&gt;         L_UNAME         TYPE SY-UNAME,&lt;/P&gt;&lt;P&gt;         L_ACC1_VBELN    TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;         L_ACC2_VBELN    TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_PARAMS-DISMODE   = C_DISMODE.                         "Dispaly mode&lt;/P&gt;&lt;P&gt;  W_PARAMS-UPDMODE   = C_UPDATE.                          "Update mode&lt;/P&gt;&lt;P&gt;  W_PARAMS-CATTMODE  = SPACE.                             "CATT&lt;/P&gt;&lt;P&gt;  W_PARAMS-DEFSIZE   = C_DYNBEGIN.                        "Default Size&lt;/P&gt;&lt;P&gt;  W_PARAMS-RACOMMIT  = C_DYNBEGIN.                        "Commit&lt;/P&gt;&lt;P&gt;  W_PARAMS-NOBINPT   = SPACE.                             "No Batch Input&lt;/P&gt;&lt;P&gt;  W_PARAMS-NOBIEND   = SPACE.                             "BI END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  code for the first access sequence..............................starts here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR: W_ACC1,&lt;/P&gt;&lt;P&gt;         L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_ACC1 BY VBELN KUNNR KONDM ZCOUNT ASCENDING KSTBM DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ACC1 INTO W_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'       "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN          = W_ACC1-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK   = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SYSTEM_FAILURE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS         = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_ACC1-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC1-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-KUNNR  = W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-KONDM  = L_KONDM.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-ZCOUNT  = W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-018 TEXT-016 W_ACC1-VBELN INTO W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND W_MESSAGE1 TO T_MESSAGE1.&lt;/P&gt;&lt;P&gt;        W_ACC1-ERROR = C_2.   " 2 is the status which is used to indicate that this record is processed for error&lt;/P&gt;&lt;P&gt;        " message and would be deleted from the internal table before processing the BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MODIFY T_ACC1 FROM W_ACC1 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE T_ACC2 WHERE ERROR EQ C_2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR: L_ERROREXIST,&lt;/P&gt;&lt;P&gt;               L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT NEW ZCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_FLAG_NEW = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_FLAG_NEW EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                        C_ZBPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=WEIT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KONP-KMEIN(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                        P_VKORG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                        P_VTWEG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KUNNR'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KONDM'          "Material Pricing Group&lt;/P&gt;&lt;P&gt;                                        W_ACC1-KONDM.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KMEIN(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-VRKME.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)'&lt;/P&gt;&lt;P&gt;                                        C_1000.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZCOUNT(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZTECHSPEC(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-ZZCOUNT(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=KTXT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV70T' '0101'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'LV70T-LTX01(04)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=BACK'.&lt;/P&gt;&lt;P&gt;          L_ACC1_VBELN = W_ACC1-VBELN.&lt;/P&gt;&lt;P&gt;          SHIFT L_ACC1_VBELN LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'LV70T-LTX01(04)'&lt;/P&gt;&lt;P&gt;                                        L_ACC1_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-ZZCOUNT(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=PSTF'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0303'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'KONM-KBETR(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=EINF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KSTBM.&lt;/P&gt;&lt;P&gt;        L_KSTBM = W_ACC1-KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'KONM-KSTBM(01)'  L_KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'RV13A-KONMS(01)'  W_ACC1-VRKME.&lt;/P&gt;&lt;P&gt;        CLEAR L_KBETR.&lt;/P&gt;&lt;P&gt;        L_KBETR = W_ACC1-KZWI1.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'KONM-KBETR(01)'  L_KBETR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF ZCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION C_VK11  USING    T_BDCDATA    "#EC CI_CALLTA&lt;/P&gt;&lt;P&gt;                                   OPTIONS  FROM W_PARAMS&lt;/P&gt;&lt;P&gt;                                   MESSAGES INTO T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF W_BDCMSGCOLL-MSGTYP EQ C_E OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_I OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_ERROREXIST = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              W_ACC1-ERROR = C_3.&lt;/P&gt;&lt;P&gt;              MODIFY T_ACC1 FROM W_ACC1 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_ACC1-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Building the Internal Table to hold Success &amp;amp; Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR: W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                 G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Funtion module to output the error and sucess messages&lt;/P&gt;&lt;P&gt;&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               = W_BDCMSGCOLL-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = W_BDCMSGCOLL-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = W_BDCMSGCOLL-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = W_BDCMSGCOLL-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = W_BDCMSGCOLL-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = W_BDCMSGCOLL-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         W_MESSAGE1-VBELN  = W_IHEADER-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_MESSAGE1-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-KUNNR  = W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-KONDM  = W_ACC1-KONDM.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-ZCOUNT = W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;            CONCATENATE G_MESSAGE TEXT-016 W_ACC1-VBELN INTO W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND W_MESSAGE1 TO T_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR : W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                    G_MESSAGE,&lt;/P&gt;&lt;P&gt;                    W_MESSAGE1.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REFRESH : T_BDCDATA,&lt;/P&gt;&lt;P&gt;                    T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_ACC1-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the first access sequence...............................ends     here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the second access sequence..............................starts   here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ACC2,&lt;/P&gt;&lt;P&gt;         L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_ACC2 BY VBELN KUNNR MATNR ASCENDING KSTBM DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ACC2 INTO W_ACC2.   "Looping at the Second Access Sequence Data Table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'        "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN        = W_ACC2-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_ACC2-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-KUNNR  = W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-MATNR  = W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-MSGTYP = C_E.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-017 TEXT-016 W_ACC2-VBELN INTO W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND W_MESSAGE2 TO T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_ACC2-ERROR = C_2.   " 2 is the status which is used to indicate that this record is processed for error&lt;/P&gt;&lt;P&gt;        " message and would be deleted from the internal table before processing the BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MODIFY T_ACC2 FROM W_ACC2 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.        " If this record does not have the ZCount inconsistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR W_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT T_ACC2 INTO W_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Deletion from the Internal Table is done inorder to ensure that proper records get created.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  And only those records which are already processed for Error Management are deleted.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE T_ACC2 WHERE ERROR EQ C_2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR: L_ERROREXIST,&lt;/P&gt;&lt;P&gt;               L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT NEW MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_FLAG_NEW = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_FLAG_NEW EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                        C_ZBPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=WEIT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(02)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-VKORG'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                        P_VKORG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                        P_VTWEG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KUNNR'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-MATNR(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZTECHSPEC(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)'&lt;/P&gt;&lt;P&gt;                                        C_1000.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KMEIN(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-VRKME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-MATNR(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=KTXT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV70T' '0101'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'LV70T-LTX01(04)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=BACK'.&lt;/P&gt;&lt;P&gt;          L_ACC2_VBELN = W_ACC2-VBELN.&lt;/P&gt;&lt;P&gt;          SHIFT L_ACC2_VBELN LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'LV70T-LTX01(04)'&lt;/P&gt;&lt;P&gt;                                        L_ACC2_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-MATNR(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=PSTF'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0303'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'KONM-KBETR(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=EINF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KSTBM.&lt;/P&gt;&lt;P&gt;        L_KSTBM = W_ACC2-KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'KONM-KSTBM(01)' L_KSTBM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'RV13A-KONMS(01)' W_ACC2-VRKME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KBETR.&lt;/P&gt;&lt;P&gt;        L_KBETR = W_ACC2-KZWI1.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'KONM-KBETR(01)' L_KBETR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********END OF THE MATERIAL FOR A QUOTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION C_VK11  USING    T_BDCDATA    "#EC CI_CALLTA&lt;/P&gt;&lt;P&gt;                                   OPTIONS  FROM W_PARAMS&lt;/P&gt;&lt;P&gt;                                   MESSAGES INTO T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF W_BDCMSGCOLL-MSGTYP EQ C_E OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_I OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_ERROREXIST = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              W_ACC2-ERROR = C_3.&lt;/P&gt;&lt;P&gt;              MODIFY T_ACC2 FROM W_ACC2 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_ACC2-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Building the Internal Table to hold Success &amp;amp; Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR: W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                 G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&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               = W_BDCMSGCOLL-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = W_BDCMSGCOLL-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = W_BDCMSGCOLL-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = W_BDCMSGCOLL-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = W_BDCMSGCOLL-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = W_BDCMSGCOLL-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         W_MESSAGE2-VBELN  = W_IHEADER-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_MESSAGE2-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-KUNNR  = W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-MATNR  = W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;            CONCATENATE G_MESSAGE TEXT-016 W_ACC2-VBELN INTO W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND W_MESSAGE2 TO T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR : W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                    G_MESSAGE,&lt;/P&gt;&lt;P&gt;                    W_MESSAGE2.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REFRESH : T_BDCDATA,&lt;/P&gt;&lt;P&gt;                    T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.        "AT END OF MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                            "IF W_ACC2-ERROR IS INITIAL / NOT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_ACC2-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the second access sequence..............................ends   here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Processing for Change of Sales Document starts here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_IHEADER,&lt;/P&gt;&lt;P&gt;         L_ERROREXIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'        "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN        = W_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_IHEADER-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_ACC1 INTO W_ACC1 WHERE VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC1-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        L_ERROREXIST = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_ACC2 INTO W_ACC2 WHERE VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        L_ERROREXIST = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR L_ERROREXIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_CONDITIONS&lt;/P&gt;&lt;P&gt;&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  CHANGE_SALESDOCUMENT_STATUS&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;      Shall change the status of Order Reason for the given Quotation&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;  P_VBELN   Quotation Number&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;&lt;/P&gt;&lt;P&gt;FORM CHANGE_SALESDOCUMENT_STATUS USING P_VBELN TYPE VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_IN  TYPE BAPISDH1,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX TYPE BAPISDH1X,&lt;/P&gt;&lt;P&gt;         W_RETURN           TYPE BAPIRET2,        "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         T_ORDER_HEADER_IN  TYPE STANDARD TABLE OF BAPISDH1,    "#EC NEEDED&lt;/P&gt;&lt;P&gt;         T_ORDER_HEADER_INX TYPE STANDARD TABLE OF BAPISDH1X,   "#EC NEEDED&lt;/P&gt;&lt;P&gt;         T_RETURN           TYPE STANDARD TABLE OF BAPIRET2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ORDER_HEADER_IN,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_IN-ORD_REASON = 'Q3'.&lt;/P&gt;&lt;P&gt;  APPEND W_ORDER_HEADER_IN TO T_ORDER_HEADER_IN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_INX-UPDATEFLAG = C_U.&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_INX-ORD_REASON = C_X.&lt;/P&gt;&lt;P&gt;  APPEND W_ORDER_HEADER_INX TO T_ORDER_HEADER_INX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Bapi to change status of open sales IHEADERs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_SALESORDER_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SALESDOCUMENT    = P_VBELN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_IN  = W_ORDER_HEADER_IN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_INX = W_ORDER_HEADER_INX&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RETURN           = T_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_RETURN.&lt;/P&gt;&lt;P&gt;  READ TABLE T_RETURN INTO W_RETURN WITH KEY TYPE = 'E'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ENDPOS_COL   = C_100&lt;/P&gt;&lt;P&gt;        ENDPOS_ROW   = C_25&lt;/P&gt;&lt;P&gt;        STARTPOS_COL = C_5&lt;/P&gt;&lt;P&gt;        STARTPOS_ROW = C_5&lt;/P&gt;&lt;P&gt;        TITLETEXT    = C_ERROR&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUETAB     = T_RETURN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        BREAK_OFF    = 1&lt;/P&gt;&lt;P&gt;        OTHERS       = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = ' '.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ORDER_HEADER_IN,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHANGE_SALESDOCUMENT_STATUS&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form takes the program name and screen number&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;p_program  Program Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_screen   Screen Number&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 BDC_DYNPRO  USING    P_PROGRAM TYPE BDCDATA-PROGRAM&lt;/P&gt;&lt;P&gt;                          P_SCREEN  TYPE BDCDATA-DYNPRO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_BDCDATA-PROGRAM     = P_PROGRAM.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-DYNPRO      = P_SCREEN.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-DYNBEGIN    = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_BDCDATA.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form takes the field name and field value&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;p_fnam   Field Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_fval   Field Value&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 BDC_FIELD  USING    P_FNAM TYPE ANY&lt;/P&gt;&lt;P&gt;                         P_FVAL TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_BDCDATA-FNAM = P_FNAM.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-FVAL = P_FVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND  W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_field&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  DISPLAY_RESULT&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;      Displays all the messages regarding posting of Condition Records&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;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_RESULT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages related to the First Access Sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MESSAGE1 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /70 TEXT-008.&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_MESSAGE1 BY VKORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /9 TEXT-010, 24 TEXT-011, 50 TEXT-012, 70 TEXT-013.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_FLAG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_MESSAGE1 INTO W_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VKORG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VTWEG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KUNNR.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KONDM.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE : /9 W_MESSAGE1-VKORG, 24 W_MESSAGE1-VTWEG,&lt;/P&gt;&lt;P&gt;                                 50 W_MESSAGE1-KUNNR, 70 W_MESSAGE1-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE: /9 TEXT-014, 23 TEXT-019, 45 TEXT-015.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE : /9 W_MESSAGE1-MSGTYP, 23 W_MESSAGE1-ZCOUNT, 45 W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_FLAG1,&lt;/P&gt;&lt;P&gt;             W_MESSAGE1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH T_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages related to the Second Access Sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MESSAGE2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;    WRITE : /70 TEXT-009.&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_MESSAGE2 BY VKORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /9 TEXT-010, 24 TEXT-011, 50 TEXT-012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_FLAG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_MESSAGE2 INTO W_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VKORG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VTWEG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KUNNR.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE : /9 W_MESSAGE2-VKORG, 24 W_MESSAGE2-VTWEG, 50 W_MESSAGE2-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE: /9 TEXT-014, 23 TEXT-020, 45 TEXT-015.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE : /9 W_MESSAGE2-MSGTYP, 23 W_MESSAGE2-MATNR, 45 W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_FLAG1,&lt;/P&gt;&lt;P&gt;             W_MESSAGE2.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_RESULT&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  CAPTURE_SCREEN&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;      Captures the Selection Screen Values of the present program&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;&lt;/P&gt;&lt;P&gt;FORM CAPTURE_SCREEN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA   L_REPID     TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH T_SELECT.&lt;/P&gt;&lt;P&gt;  L_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CURR_REPORT           = L_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SP                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      SELECTION_TABLE       = T_SELECT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     NOT_FOUND             = 1&lt;/P&gt;&lt;P&gt;     NO_REPORT             = 2&lt;/P&gt;&lt;P&gt;     OTHERS                = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CAPTURE_SCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kiran.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Jul 2007 09:04:30 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-02T09:04:30Z</dc:date>
    <item>
      <title>regarding report program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406912#M536574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In my alv grid display/edit program, i introduced checklist through field catalog edit mode check box. now my requirement is, &amp;lt;b&amp;gt;&amp;lt;u&amp;gt;the user selects more than one checkbox and presses a command button give in output screen&amp;lt;/u&amp;gt; then &amp;lt;u&amp;gt;the fields that checked should get verified and collected back to internal table and copied back to a file in application server&amp;lt;/u&amp;gt;. once the data is called into the internal table i can use &amp;lt;u&amp;gt;gui_download&amp;lt;/u&amp;gt; to copy it in app. server.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but my question is &amp;lt;i&amp;gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;how to collect all the checked fields from the output screen of alv grid display/edit into internal table&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;.pls suggest me as this is a argent requirement. if possible pls pass sample code also.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with regards &lt;/P&gt;&lt;P&gt;hareesh tadepalli&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 08:57:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406912#M536574</guid>
      <dc:creator>hareesh_tadepalli</dc:creator>
      <dc:date>2007-07-02T08:57:02Z</dc:date>
    </item>
    <item>
      <title>Re: regarding report program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406913#M536575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hareesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The internal table that you are going to use shall have a char(1) field to hold the check box. And whenever you shall click on the checkboxes the internal table shall get edited and the field that is meant for the check box shall hold 'X' against the record selected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would like to see the code, it is below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Saying thanks in SDN is by awarding points.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VB_AKAP,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         PMATN      TYPE PMATN,                          "Pricing Reference Material/Newly Created Material&lt;/P&gt;&lt;P&gt;         KWMENG     TYPE KWMENG,                         "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        NETPR      TYPE NETPR,                          "Net Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         VKAUS      TYPE ABRVW,                          "Usage Indicator&lt;/P&gt;&lt;P&gt;       END   OF TY_VB_AKAP,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MARA,&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;       END   OF TY_MARA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MVKE,&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         VKORG      TYPE VKORG,                          "Sales Organization&lt;/P&gt;&lt;P&gt;         VTWEG      TYPE VTWEG,                          "Distribution Channel&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;       END   OF TY_MVKE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VBKD,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         BSTKD_E    TYPE BSTKD_E,                        "Used to capture New Material Number&lt;/P&gt;&lt;P&gt;       END   OF TY_VBKD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_IHEADER,&lt;/P&gt;&lt;P&gt;         SELECT(1)  TYPE C,                              "Check Box&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN,                          "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to Party&lt;/P&gt;&lt;P&gt;       END   OF TY_IHEADER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MESSAGE1,&lt;/P&gt;&lt;P&gt;        VKORG     TYPE VKORG,                            "Sales Organization&lt;/P&gt;&lt;P&gt;        VTWEG     TYPE VTWEG,                            "Distribution Channel&lt;/P&gt;&lt;P&gt;        KUNNR     TYPE KUNAG,                            "Customer number&lt;/P&gt;&lt;P&gt;        KONDM     TYPE KONDM,                            "Material pricing group&lt;/P&gt;&lt;P&gt;        ZCOUNT(2) TYPE N,                                "Zcount&lt;/P&gt;&lt;P&gt;        MSGTYP(1) TYPE C,                                "Message type&lt;/P&gt;&lt;P&gt;        TEXT(150) TYPE C,                                "Message text&lt;/P&gt;&lt;P&gt;       END OF TY_MESSAGE1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_MESSAGE2,&lt;/P&gt;&lt;P&gt;        VKORG     TYPE VKORG,                            "Sales Organization&lt;/P&gt;&lt;P&gt;        VTWEG     TYPE VTWEG,                            "Distribution Channel&lt;/P&gt;&lt;P&gt;        KUNNR     TYPE KUNAG,                            "Customer number&lt;/P&gt;&lt;P&gt;        MATNR     TYPE MATNR,                            "Material Number&lt;/P&gt;&lt;P&gt;        MSGTYP(1) TYPE C,                                "Message type&lt;/P&gt;&lt;P&gt;        TEXT(150) TYPE C,                                "Message text&lt;/P&gt;&lt;P&gt;       END OF TY_MESSAGE2,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_IFINAL,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KWMENG     TYPE KWMENG,                         "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         POSNR      TYPE POSNR_VA,                       "Item Number&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         VKAUS      TYPE ABRVW,                          "Usage Indicator&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         PMATN      TYPE PMATN,                          "Pricing Reference Material/Newly Created Material&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;       END   OF TY_IFINAL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_ACC1,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         KONDM      TYPE KONDM,                          "Material Pricing Group&lt;/P&gt;&lt;P&gt;         ZCOUNT(2)  TYPE N,                              "ZCount indicator&lt;/P&gt;&lt;P&gt;         KSTBM      TYPE KSTBM,                          "Quantity&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         ERROR(1)   TYPE N,                              "Error Field&lt;/P&gt;&lt;P&gt;       END   OF TY_ACC1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_ACC2,&lt;/P&gt;&lt;P&gt;         VBELN      TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;         KUNNR      TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;         MATNR      TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;         KSTBM      TYPE KSTBM,                          "Cumulative Order Qty. in Sales Units&lt;/P&gt;&lt;P&gt;         ZZTECHSPEC TYPE ZTECHSPEC,                      "Technical Specification&lt;/P&gt;&lt;P&gt;         VRKME      TYPE VRKME,                          "Sales Unit&lt;/P&gt;&lt;P&gt;         KZWI1      TYPE KZWI1,                          "Sub Total 1 from pricing procedure for condition&lt;/P&gt;&lt;P&gt;         ERROR(1)   TYPE N,                              "Error field&lt;/P&gt;&lt;P&gt;       END   OF TY_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   D A T A                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,           "Fieldcatalog IT&lt;/P&gt;&lt;P&gt;      T_EVENTS       TYPE SLIS_T_EVENT,                  "Event IT&lt;/P&gt;&lt;P&gt;      T_HEADER       TYPE SLIS_T_LISTHEADER,             "Header IT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      T_VB_AKAP      TYPE STANDARD TABLE OF TY_VB_AKAP,  "To hold records from VBAK &amp;amp; VBAP Table&lt;/P&gt;&lt;P&gt;      T_MARA         TYPE STANDARD TABLE OF TY_MARA,     "To hold records from MARA Table&lt;/P&gt;&lt;P&gt;      T_MVKE         TYPE STANDARD TABLE OF TY_MVKE,     "To hold records from MVKE Table&lt;/P&gt;&lt;P&gt;      T_VBKD         TYPE STANDARD TABLE OF TY_VBKD,     "To hold records from VBKD Table&lt;/P&gt;&lt;P&gt;      T_IHEADER      TYPE STANDARD TABLE OF TY_IHEADER,  "To hold records from VBAK Table&lt;/P&gt;&lt;P&gt;      T_IFINAL       TYPE STANDARD TABLE OF TY_IFINAL,   "To hold cumulative data for ALV&lt;/P&gt;&lt;P&gt;      T_BDCDATA      TYPE STANDARD TABLE OF BDCDATA,     "IT for bdcdata&lt;/P&gt;&lt;P&gt;      T_BDCMSGCOLL   TYPE STANDARD TABLE OF BDCMSGCOLL,  "IT for error messages&lt;/P&gt;&lt;P&gt;      T_MESSAGE1     TYPE STANDARD TABLE OF TY_MESSAGE1, "IT for conditions1 messages&lt;/P&gt;&lt;P&gt;      T_MESSAGE2     TYPE STANDARD TABLE OF TY_MESSAGE2, "IT for conditions2 messages&lt;/P&gt;&lt;P&gt;      T_ACC2         TYPE STANDARD TABLE OF TY_ACC2,     "IT for holding data for Second Access Sequence Processing&lt;/P&gt;&lt;P&gt;      T_ACC1         TYPE STANDARD TABLE OF TY_ACC1,     "IT for holding data for First Access Sequence Processing&lt;/P&gt;&lt;P&gt;      T_SELECT       TYPE STANDARD TABLE OF RSPARAMS,    "IT for holding data related to the selection screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************&lt;/P&gt;&lt;P&gt;      W_FIELDCATALOG TYPE SLIS_FIELDCAT_ALV,             "Fieldcatalog WA&lt;/P&gt;&lt;P&gt;      W_EVENT        TYPE SLIS_ALV_EVENT,                "Event WA&lt;/P&gt;&lt;P&gt;      W_HEADER       TYPE SLIS_LISTHEADER,               "Header WA&lt;/P&gt;&lt;P&gt;      W_LAYOUT       TYPE SLIS_LAYOUT_ALV,               "Layout WA&lt;/P&gt;&lt;P&gt;      W_KEYINFO      TYPE SLIS_KEYINFO_ALV,              "Key Information WA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_VB_AKAP      TYPE TY_VB_AKAP,                    "To hold records from T_VB_AKAP&lt;/P&gt;&lt;P&gt;      W_MARA         TYPE TY_MARA,                       "To hold records from T_MARA&lt;/P&gt;&lt;P&gt;      W_MVKE         TYPE TY_MVKE,                       "To hold records from T_MVKE&lt;/P&gt;&lt;P&gt;      W_VBKD         TYPE TY_VBKD,                       "To hold records from T_VBKD&lt;/P&gt;&lt;P&gt;      W_IHEADER      TYPE TY_IHEADER,                    "To hold records from T_IHEADER&lt;/P&gt;&lt;P&gt;      W_IFINAL       TYPE TY_IFINAL,                     "To hold records from T_IFINAL&lt;/P&gt;&lt;P&gt;      W_PARAMS       TYPE CTU_PARAMS,                    "CTU Params&lt;/P&gt;&lt;P&gt;      W_BDCDATA      TYPE BDCDATA,                       "Work Area for BDCDATA&lt;/P&gt;&lt;P&gt;      W_BDCMSGCOLL   TYPE BDCMSGCOLL,                    "Work Area to collect BDC Messages&lt;/P&gt;&lt;P&gt;      W_MESSAGE1     TYPE TY_MESSAGE1,                   "WA for price conditions1 messages&lt;/P&gt;&lt;P&gt;      W_MESSAGE2     TYPE TY_MESSAGE2,                   "WA for price conditions2 messages&lt;/P&gt;&lt;P&gt;      W_ACC2         TYPE TY_ACC2,                       "WA for holding records from T_ACC2&lt;/P&gt;&lt;P&gt;      W_ACC1         TYPE TY_ACC1,                       "WA for holding records from T_ACC1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_AUDAT       TYPE AUDAT,                          "Document Date (Date Received/Sent)&lt;/P&gt;&lt;P&gt;      G_VBELN       TYPE VBELN_VA,                       "Sales Document&lt;/P&gt;&lt;P&gt;      G_KUNNR       TYPE KUNAG,                          "Sold-to party&lt;/P&gt;&lt;P&gt;      G_MATNR       TYPE MATNR,                          "Material Number&lt;/P&gt;&lt;P&gt;      G_REPID       TYPE SY-REPID,                       "Program Name&lt;/P&gt;&lt;P&gt;      G_MESSAGE(73) TYPE C,                              "To Capture Message&lt;/P&gt;&lt;P&gt;      G_FLAG1(1)    TYPE C,                              "Flag&lt;/P&gt;&lt;P&gt;      G_ANSWER(1)   TYPE C.                              "Optional Button&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constant declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      C_A(1)         TYPE C VALUE 'A',                    "Constant Value A&lt;/P&gt;&lt;P&gt;      C_S(1)         TYPE C VALUE 'S',                    "Constant Value S&lt;/P&gt;&lt;P&gt;      C_U(1)         TYPE C VALUE 'U',                    "Constant Value U&lt;/P&gt;&lt;P&gt;      C_X(1)         TYPE C VALUE 'X',                    "Constant Value X&lt;/P&gt;&lt;P&gt;      C_E(1)         TYPE C VALUE 'E',                    "Constant Value E&lt;/P&gt;&lt;P&gt;      C_I(1)         TYPE C VALUE 'I',                    "Constant Value I&lt;/P&gt;&lt;P&gt;      C_R(1)         TYPE C VALUE 'R',                    "Constant Value R&lt;/P&gt;&lt;P&gt;      C_B(1)         TYPE C VALUE 'B',                    "Document Category is Quotation&lt;/P&gt;&lt;P&gt;      C_HTNAME(10)   TYPE C VALUE 'T_IHEADER',            "Internal table for Header Data&lt;/P&gt;&lt;P&gt;      C_ITNAME(10)   TYPE C VALUE 'T_IFINAL',             "Internal Table with processed data&lt;/P&gt;&lt;P&gt;      C_Q2(2)        TYPE C VALUE 'Q2',                   "Constant Order Reason Q2&lt;/P&gt;&lt;P&gt;      C_100(3)       TYPE C VALUE '100',                  "Popup screen&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     C_046(3)       TYPE C VALUE '046',                    "Value 046&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     C_047(3)       TYPE C VALUE '047',                    "Value 047&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      C_25(2)        TYPE C VALUE '25',                   "Popup screen&lt;/P&gt;&lt;P&gt;      C_5(1)         TYPE C VALUE '5',                    "Popup screen&lt;/P&gt;&lt;P&gt;      C_1            TYPE I VALUE  1,                     "Value 1 for Error Denotion&lt;/P&gt;&lt;P&gt;      C_2            TYPE I VALUE  2,                     "Value 2 for Error Denotion&lt;/P&gt;&lt;P&gt;      C_3            TYPE I VALUE  3,                     "Value 3 for BDC Error Denotion&lt;/P&gt;&lt;P&gt;      C_1000(4)      TYPE N VALUE 1000,                     "Value 1000&lt;/P&gt;&lt;P&gt;      C_01(2)        TYPE N VALUE '01',                   "Value 01 for Zcount&lt;/P&gt;&lt;P&gt;      C_VK11(4)      TYPE C VALUE 'VK11',                 "Transaction VK11&lt;/P&gt;&lt;P&gt;      C_DYNBEGIN(1)  TYPE C VALUE 'X',                    "Indicator&lt;/P&gt;&lt;P&gt;      C_UPDATE(1)    TYPE C VALUE 'S',                    "Update&lt;/P&gt;&lt;P&gt;      C_DISMODE(1)   TYPE C VALUE 'N',                    "Display&lt;/P&gt;&lt;P&gt;      C_ZBPR(4)      TYPE C VALUE 'ZBPR',                 "Condition Type ZBPR&lt;/P&gt;&lt;P&gt;      C_ERROR(5)     TYPE C VALUE 'ERROR'.                "Error screen title&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   S E L E C T   O P T I O N S  &amp;amp;  P A R A M E T E R S               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection-screen Block 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:     P_VKORG TYPE VKORG OBLIGATORY,           "Sales Organization&lt;/P&gt;&lt;P&gt;                P_VTWEG TYPE VTWEG OBLIGATORY,           "Distribution Channel&lt;/P&gt;&lt;P&gt;                P_SPART TYPE SPART DEFAULT '00'.         "Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_AUDAT FOR G_AUDAT,                     "Document Date (Date Received/Sent)&lt;/P&gt;&lt;P&gt;                S_VBELN FOR G_VBELN,                     "Sales Document&lt;/P&gt;&lt;P&gt;                S_KUNNR FOR G_KUNNR,                     "Sold-to party&lt;/P&gt;&lt;P&gt;                S_MATNR FOR G_MATNR.                     "Material Number&lt;/P&gt;&lt;P&gt;PARAMETERS:     P_VKAUS(2) TYPE N.                       "Usage Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I N I T I A L I Z A T I O N                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : G_REPID.                                       "Program Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_REPID = SY-REPID.                                    "Program Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  A T   S E L E C T I O N   S C R E E N                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  S T A R T   O F   S E L E C T I O N                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Bulid layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Captures the Values of Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CAPTURE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E N D   O F   S E L E C T I O N                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  F O R M S                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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  DATA_RETRIEVAL&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;      Retrieves Data for ALV Display&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 DATA_RETRIEVAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_VKAUS   TYPE VKAUS.            "Variable to hold Usage Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         KUNNR&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE T_IHEADER&lt;/P&gt;&lt;P&gt;    FROM VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN IN S_VBELN&lt;/P&gt;&lt;P&gt;      AND KUNNR IN S_KUNNR&lt;/P&gt;&lt;P&gt;      AND VKORG EQ P_VKORG&lt;/P&gt;&lt;P&gt;      AND AUDAT IN S_AUDAT&lt;/P&gt;&lt;P&gt;      AND VTWEG EQ P_VTWEG&lt;/P&gt;&lt;P&gt;      AND SPART EQ P_SPART&lt;/P&gt;&lt;P&gt;      AND AUGRU EQ C_Q2&lt;/P&gt;&lt;P&gt;      AND VBTYP EQ C_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_IHEADER IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT P_VKAUS IS INITIAL OR P_VKAUS NE C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'C' P_VKAUS INTO L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT A~VBELN&lt;/P&gt;&lt;P&gt;             A~KUNNR&lt;/P&gt;&lt;P&gt;             B~POSNR&lt;/P&gt;&lt;P&gt;             B~MATNR&lt;/P&gt;&lt;P&gt;             B~PMATN&lt;/P&gt;&lt;P&gt;             B~KWMENG&lt;/P&gt;&lt;P&gt;             B~VRKME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            B~NETPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             B~KZWI1&lt;/P&gt;&lt;P&gt;             B~VKAUS&lt;/P&gt;&lt;P&gt;       INTO  TABLE T_VB_AKAP&lt;/P&gt;&lt;P&gt;       FROM  VBAK AS A&lt;/P&gt;&lt;P&gt;       JOIN  VBAP AS B&lt;/P&gt;&lt;P&gt;         ON  A~VBELN EQ B~VBELN&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_IHEADER&lt;/P&gt;&lt;P&gt;        WHERE A~VBELN EQ T_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;          AND B~MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;          AND B~VKAUS EQ L_VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT A~VBELN&lt;/P&gt;&lt;P&gt;             A~KUNNR&lt;/P&gt;&lt;P&gt;             B~POSNR&lt;/P&gt;&lt;P&gt;             B~MATNR&lt;/P&gt;&lt;P&gt;             B~PMATN&lt;/P&gt;&lt;P&gt;             B~KWMENG&lt;/P&gt;&lt;P&gt;             B~VRKME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            B~NETPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             B~KZWI1&lt;/P&gt;&lt;P&gt;             B~VKAUS&lt;/P&gt;&lt;P&gt;       INTO  TABLE T_VB_AKAP&lt;/P&gt;&lt;P&gt;       FROM  VBAK AS A&lt;/P&gt;&lt;P&gt;       JOIN  VBAP AS B&lt;/P&gt;&lt;P&gt;         ON  A~VBELN EQ B~VBELN&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_IHEADER&lt;/P&gt;&lt;P&gt;       WHERE A~VBELN EQ T_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;         AND B~MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_VB_AKAP IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT  VBELN&lt;/P&gt;&lt;P&gt;              POSNR&lt;/P&gt;&lt;P&gt;              BSTKD_E&lt;/P&gt;&lt;P&gt;         INTO TABLE T_VBKD&lt;/P&gt;&lt;P&gt;         FROM VBKD&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;         WHERE VBELN EQ T_VB_AKAP-VBELN&lt;/P&gt;&lt;P&gt;           AND POSNR EQ T_VB_AKAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_VBKD BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  After much of coding was completed, Usage of PMATN was dropped and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  the first eighteen characters of the field BSTKD was proposed for usage&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Hence PMATN is overwritten by BSTKD value in the below loop&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_VB_AKAP INTO W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_VBKD,&lt;/P&gt;&lt;P&gt;             W_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_VBKD INTO W_VBKD&lt;/P&gt;&lt;P&gt;                        WITH KEY VBELN = W_VB_AKAP-VBELN&lt;/P&gt;&lt;P&gt;                                 POSNR = W_VB_AKAP-POSNR&lt;/P&gt;&lt;P&gt;                        BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        W_VB_AKAP-PMATN = W_VBKD-BSTKD_E+0(18).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY T_VB_AKAP FROM W_VB_AKAP TRANSPORTING PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_VB_AKAP IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                ZZTECHSPEC&lt;/P&gt;&lt;P&gt;        INTO    TABLE T_MARA&lt;/P&gt;&lt;P&gt;        FROM    MARA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                ZZTECHSPEC&lt;/P&gt;&lt;P&gt;        APPENDING TABLE T_MARA&lt;/P&gt;&lt;P&gt;        FROM    MARA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                VKORG&lt;/P&gt;&lt;P&gt;                VTWEG&lt;/P&gt;&lt;P&gt;                KONDM&lt;/P&gt;&lt;P&gt;        INTO    TABLE T_MVKE&lt;/P&gt;&lt;P&gt;        FROM    MVKE&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MVKE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT    MATNR&lt;/P&gt;&lt;P&gt;                VKORG&lt;/P&gt;&lt;P&gt;                VTWEG&lt;/P&gt;&lt;P&gt;                KONDM&lt;/P&gt;&lt;P&gt;        APPENDING TABLE T_MVKE&lt;/P&gt;&lt;P&gt;        FROM    MVKE&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN T_VB_AKAP&lt;/P&gt;&lt;P&gt;        WHERE   MATNR EQ T_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                     "Checking SY-SUBRC for T_MVKE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.                    " FOR T_VB_AKAP NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.                    " FOR T_IHEADER NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_VB_AKAP,&lt;/P&gt;&lt;P&gt;         W_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_VB_AKAP INTO W_VB_AKAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_IFINAL-VBELN  = W_VB_AKAP-VBELN.&lt;/P&gt;&lt;P&gt;    W_IFINAL-KUNNR  = W_VB_AKAP-KUNNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-POSNR  = W_VB_AKAP-POSNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-MATNR  = W_VB_AKAP-MATNR.&lt;/P&gt;&lt;P&gt;    W_IFINAL-PMATN  = W_VB_AKAP-PMATN.&lt;/P&gt;&lt;P&gt;    W_IFINAL-KWMENG = W_VB_AKAP-KWMENG.&lt;/P&gt;&lt;P&gt;    W_IFINAL-VRKME  = W_VB_AKAP-VRKME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   W_IFINAL-NETPR  = W_VB_AKAP-NETPR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    W_IFINAL-KZWI1  = ( W_VB_AKAP-KZWI1 / W_VB_AKAP-KWMENG ) * 1000.&lt;/P&gt;&lt;P&gt;    W_IFINAL-VKAUS  = W_VB_AKAP-VKAUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populating Material Pricing Group from New Material Group, if such Group doesn't exist&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Population of Material Pricing Group from Material Number is tried.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Similar condition does suit for Tech Spec too.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT: T_MVKE BY MATNR VKORG VTWEG,&lt;/P&gt;&lt;P&gt;          T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT W_VB_AKAP-PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;      READ TABLE    T_MVKE&lt;/P&gt;&lt;P&gt;           INTO     W_MVKE&lt;/P&gt;&lt;P&gt;           WITH KEY MATNR = W_VB_AKAP-PMATN&lt;/P&gt;&lt;P&gt;                    VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                    VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-KONDM = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MARA&lt;/P&gt;&lt;P&gt;           INTO      W_MARA&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-PMATN&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-ZZTECHSPEC = W_MARA-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " SY-SUBRC FOR READ TABLE T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MVKE&lt;/P&gt;&lt;P&gt;           INTO      W_MVKE&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-MATNR&lt;/P&gt;&lt;P&gt;                     VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                     VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-KONDM = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE     T_MARA&lt;/P&gt;&lt;P&gt;           INTO      W_MARA&lt;/P&gt;&lt;P&gt;           WITH KEY  MATNR = W_VB_AKAP-MATNR&lt;/P&gt;&lt;P&gt;           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_IFINAL-ZZTECHSPEC = W_MARA-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " SY-SUBRC FOR READ TABLE T_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     W_IFINAL-KONDM  =  W_MVKE-KONDM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    ENDIF.                              " IS INITIAL CHECK FOR W_MVKE-KONDM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND W_IFINAL TO T_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: W_VB_AKAP,&lt;/P&gt;&lt;P&gt;           W_IFINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IFINAL BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Checking whether if there are any header quotations which does not have items against them in item internal table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if such records exist then, ensuring that such records gets deleted from header too, so that inconsitency is removed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_IHEADER.&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_IFINAL.&lt;/P&gt;&lt;P&gt;    READ TABLE T_IFINAL INTO W_IFINAL WITH KEY VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_IHEADER-SELECT = C_X.&lt;/P&gt;&lt;P&gt;      MODIFY T_IHEADER FROM W_IHEADER TRANSPORTING SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  DELETE T_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IFINAL BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&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  build_layout&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;      To build ALV Layout&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 BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : W_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_LAYOUT-COLWIDTH_OPTIMIZE = C_X.&lt;/P&gt;&lt;P&gt;  W_LAYOUT-BOX_TABNAME       = C_HTNAME.      "tabname for checkbox&lt;/P&gt;&lt;P&gt;  W_LAYOUT-BOX_FIELDNAME     = 'SELECT'.      "fieldname for checkbox&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : W_KEYINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_KEYINFO-HEADER01 = 'VBELN'.               "Header1 key information&lt;/P&gt;&lt;P&gt;  W_KEYINFO-ITEM01   = 'VBELN'.               "Item1 key information&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "build_layout&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  build_events&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;      To build ALV Events&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 BUILD_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_LIST_TYPE     = 1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ET_EVENTS       = T_EVENTS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE T_EVENTS INTO W_EVENT&lt;/P&gt;&lt;P&gt;                        WITH KEY NAME = C_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE C_TOP_OF_PAGE TO W_EVENT-FORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY T_EVENTS INDEX SY-TABIX&lt;/P&gt;&lt;P&gt;                      FROM  W_EVENT&lt;/P&gt;&lt;P&gt;                      TRANSPORTING FORM.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "build_events&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  top_of_page&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;      To display top of page in ALV Report&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 TOP_OF_PAGE.                                           "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_VKORG(35) TYPE C,                        "Sales Organization&lt;/P&gt;&lt;P&gt;    L_VTWEG(35) TYPE C,                        "Distribution Channel&lt;/P&gt;&lt;P&gt;    L_SPART(35) TYPE C.                        "Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR W_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_HEADER-TYP  = C_H.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_HEADER-INFO = TEXT-003.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Organization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-004 P_VKORG INTO L_VKORG.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_VKORG.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Distribution Channel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-005 P_VTWEG INTO L_VTWEG.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_VTWEG.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_HEADER.&lt;/P&gt;&lt;P&gt;  W_HEADER-TYP  = C_S.&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-006 P_SPART INTO L_SPART.&lt;/P&gt;&lt;P&gt;  W_HEADER-INFO = L_SPART.&lt;/P&gt;&lt;P&gt;  APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "top_of_page&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  pf_status&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;      To set PF-Status (user interface)&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;EXTAB     The excluding table (function codes)&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 PF_STATUS                                              "#EC CALLED&lt;/P&gt;&lt;P&gt;          USING T_EXTAB TYPE SLIS_T_EXTAB.                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "pf_status&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  display_alv_report&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;      To display ALV report&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 DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_PROGRAM             = G_REPID&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET       = 'PF_STATUS'&lt;/P&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     IS_LAYOUT                      = W_LAYOUT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                    = T_FIELDCATALOG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_DEFAULT                      = C_X&lt;/P&gt;&lt;P&gt;     I_SAVE                         = C_A&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                      = T_EVENTS[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_TABNAME_HEADER               = 'T_IHEADER'&lt;/P&gt;&lt;P&gt;     I_TABNAME_ITEM                 = 'T_IFINAL'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IS_KEYINFO                     = W_KEYINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_HIERSEQ_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB_HEADER                = T_IHEADER&lt;/P&gt;&lt;P&gt;      T_OUTTAB_ITEM                  = T_IFINAL&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;     OTHERS                         = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "display_alv_report&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  BUILD_FIELDCATALOG&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;      To build ALV Field Catalog&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;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATALOG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_COUNT TYPE I VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'SELECT'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C01.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-CHECKBOX    =  C_X.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EDIT        =  C_X.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VBELN'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C02.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-KEY         =  C_X.   "Fixes the column for no-scroll&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_HTNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KUNNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C04.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'POSNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C03.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KWMENG'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C06.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VRKME'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C07.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-JUST        =  C_R.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; W_FIELDCATALOG-FIELDNAME   = 'NETPR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KZWI1'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C08.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'VKAUS'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C12.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-JUST        =  C_R.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'ZZTECHSPEC'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C09.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C05.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'PMATN'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C10.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-EMPHASIZE   =  'C400'.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-COL_POS     =  L_COUNT.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-TABNAME     =  C_ITNAME.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-FIELDNAME   = 'KONDM'.&lt;/P&gt;&lt;P&gt;  W_FIELDCATALOG-SELTEXT_M   =  TEXT-C11.&lt;/P&gt;&lt;P&gt;  APPEND W_FIELDCATALOG TO T_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELDCATALOG&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  user_command&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;      EXIT routine for command handling&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;L_UCOMM      Function code that PAI triggered&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;W_SELFIELD   Information cursor position ALV&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;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING L_UCOMM    LIKE SY-UCOMM            "#EC CALLED&lt;/P&gt;&lt;P&gt;                        W_SELFIELD TYPE SLIS_SELFIELD.      "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE L_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CREATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SORT T_IHEADER BY SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_IHEADER INTO W_IHEADER&lt;/P&gt;&lt;P&gt;                          WITH KEY SELECT = C_X&lt;/P&gt;&lt;P&gt;                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE I000(ZS) WITH TEXT-M01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR : G_ANSWER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dialog box for save prompts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            TEXT_QUESTION         = TEXT-OP1&lt;/P&gt;&lt;P&gt;            DISPLAY_CANCEL_BUTTON = ''&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            ANSWER                = G_ANSWER&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            TEXT_NOT_FOUND        = 1&lt;/P&gt;&lt;P&gt;            OTHERS                = 2.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF G_ANSWER = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SET PF-STATUS 'ZSTANDARD_SCREEN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM DATA_IDENTITY_4_ACCESS_SEQ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM CREATE_CONDITIONS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM DISPLAY_RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;REFRESH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SUBMIT ZSPRENH069 USING SELECTION-SCREEN 1000&lt;/P&gt;&lt;P&gt;                        WITH SELECTION-TABLE T_SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACKTO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SUBMIT ZSPRENH069 USING SELECTION-SCREEN 1000&lt;/P&gt;&lt;P&gt;                        WITH SELECTION-TABLE T_SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                      "user_command&lt;/P&gt;&lt;P&gt;&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  DATA_IDENTITY_4_ACCESS_SEQ&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; Seperates the Available Data for processing for both Access Sequences&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;&lt;/P&gt;&lt;P&gt;FORM DATA_IDENTITY_4_ACCESS_SEQ .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : W_IFINAL,&lt;/P&gt;&lt;P&gt;          W_ACC1,&lt;/P&gt;&lt;P&gt;          W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_IFINAL INTO W_IFINAL WHERE VBELN EQ W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_IFINAL-PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;        READ TABLE    T_MVKE&lt;/P&gt;&lt;P&gt;             INTO     W_MVKE&lt;/P&gt;&lt;P&gt;             WITH KEY MATNR = W_IFINAL-PMATN&lt;/P&gt;&lt;P&gt;                      VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                      VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF NOT W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC2-ERROR = C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.       " ZCOUNT exists for the material&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC2-MATNR       = W_IFINAL-PMATN.&lt;/P&gt;&lt;P&gt;          W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.          "Material Pricing Group exists for the records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC1-KONDM       = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-MATNR       = W_IFINAL-PMATN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_ACC1-ZCOUNT = C_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC1-ZCOUNT = W_IFINAL-VKAUS+1(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR W_ACC1-ERROR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VBELN      = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC1-KUNNR      = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VRKME      = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC1-ZZTECHSPEC = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC1-KSTBM      = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC1-KZWI1      = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC1 TO T_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.   "New Material Number doesn't exist&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SORT T_MVKE BY MATNR VKORG VTWEG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR W_MVKE.&lt;/P&gt;&lt;P&gt;        READ TABLE     T_MVKE&lt;/P&gt;&lt;P&gt;             INTO      W_MVKE&lt;/P&gt;&lt;P&gt;             WITH KEY  MATNR = W_IFINAL-MATNR&lt;/P&gt;&lt;P&gt;                       VKORG = P_VKORG&lt;/P&gt;&lt;P&gt;                       VTWEG = P_VTWEG&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF W_MVKE-KONDM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF NOT W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC2-ERROR = C_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC2-MATNR       = W_IFINAL-MATNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.          "Material Pricing Group exists for the records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          W_ACC1-KONDM       = W_MVKE-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF W_IFINAL-VKAUS IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR W_ACC2-ERROR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VBELN       = W_IFINAL-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-MATNR       = W_IFINAL-MATNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KUNNR       = W_IFINAL-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-VRKME       = W_IFINAL-VRKME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-ZZTECHSPEC  = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KSTBM       = W_IFINAL-KWMENG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           W_ACC2-KZWI1       = W_IFINAL-KZWI1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           APPEND W_ACC2 TO T_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_ACC1-ZCOUNT = C_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            W_ACC1-ZCOUNT = W_IFINAL-VKAUS+1(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR W_ACC1-ERROR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VBELN      = W_IFINAL-VBELN.&lt;/P&gt;&lt;P&gt;          W_ACC1-KUNNR      = W_IFINAL-KUNNR.&lt;/P&gt;&lt;P&gt;          W_ACC1-VRKME      = W_IFINAL-VRKME.&lt;/P&gt;&lt;P&gt;          W_ACC1-ZZTECHSPEC = W_IFINAL-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          W_ACC1-KSTBM      = W_IFINAL-KWMENG.&lt;/P&gt;&lt;P&gt;          W_ACC1-KZWI1      = W_IFINAL-KZWI1.&lt;/P&gt;&lt;P&gt;          APPEND W_ACC1 TO T_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                              " CHECK FOR W_IFINAL-PMATN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_ACC1,&lt;/P&gt;&lt;P&gt;             W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " T_IFINAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.                          " T_IHEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                          " DATA_IDENTITY_4_ACCESS_SEQ&lt;/P&gt;&lt;P&gt;&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  CREATE_CONDITIONS&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;      Creates the Condition Records for first two access sequences&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;&lt;/P&gt;&lt;P&gt;FORM CREATE_CONDITIONS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_ERROREXIST(1) TYPE C,&lt;/P&gt;&lt;P&gt;         L_KONDM         TYPE KONDM,&lt;/P&gt;&lt;P&gt;         L_KSTBM(18)     TYPE C,&lt;/P&gt;&lt;P&gt;         L_KBETR(13)     TYPE C,&lt;/P&gt;&lt;P&gt;         L_FLAG_NEW(1)   TYPE C,&lt;/P&gt;&lt;P&gt;         L_UNAME         TYPE SY-UNAME,&lt;/P&gt;&lt;P&gt;         L_ACC1_VBELN    TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;         L_ACC2_VBELN    TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_PARAMS-DISMODE   = C_DISMODE.                         "Dispaly mode&lt;/P&gt;&lt;P&gt;  W_PARAMS-UPDMODE   = C_UPDATE.                          "Update mode&lt;/P&gt;&lt;P&gt;  W_PARAMS-CATTMODE  = SPACE.                             "CATT&lt;/P&gt;&lt;P&gt;  W_PARAMS-DEFSIZE   = C_DYNBEGIN.                        "Default Size&lt;/P&gt;&lt;P&gt;  W_PARAMS-RACOMMIT  = C_DYNBEGIN.                        "Commit&lt;/P&gt;&lt;P&gt;  W_PARAMS-NOBINPT   = SPACE.                             "No Batch Input&lt;/P&gt;&lt;P&gt;  W_PARAMS-NOBIEND   = SPACE.                             "BI END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  code for the first access sequence..............................starts here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR: W_ACC1,&lt;/P&gt;&lt;P&gt;         L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_ACC1 BY VBELN KUNNR KONDM ZCOUNT ASCENDING KSTBM DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ACC1 INTO W_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'       "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN          = W_ACC1-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK   = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SYSTEM_FAILURE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS         = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_ACC1-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC1-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-KUNNR  = W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-KONDM  = L_KONDM.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-ZCOUNT  = W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;        W_MESSAGE1-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-018 TEXT-016 W_ACC1-VBELN INTO W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND W_MESSAGE1 TO T_MESSAGE1.&lt;/P&gt;&lt;P&gt;        W_ACC1-ERROR = C_2.   " 2 is the status which is used to indicate that this record is processed for error&lt;/P&gt;&lt;P&gt;        " message and would be deleted from the internal table before processing the BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MODIFY T_ACC1 FROM W_ACC1 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE T_ACC2 WHERE ERROR EQ C_2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR: L_ERROREXIST,&lt;/P&gt;&lt;P&gt;               L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT NEW ZCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_FLAG_NEW = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_FLAG_NEW EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                        C_ZBPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=WEIT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KONP-KMEIN(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                        P_VKORG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                        P_VTWEG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KUNNR'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KONDM'          "Material Pricing Group&lt;/P&gt;&lt;P&gt;                                        W_ACC1-KONDM.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KMEIN(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-VRKME.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)'&lt;/P&gt;&lt;P&gt;                                        C_1000.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZCOUNT(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZTECHSPEC(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC1-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-ZZCOUNT(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=KTXT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV70T' '0101'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'LV70T-LTX01(04)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=BACK'.&lt;/P&gt;&lt;P&gt;          L_ACC1_VBELN = W_ACC1-VBELN.&lt;/P&gt;&lt;P&gt;          SHIFT L_ACC1_VBELN LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'LV70T-LTX01(04)'&lt;/P&gt;&lt;P&gt;                                        L_ACC1_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1950'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-ZZCOUNT(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=PSTF'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0303'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'KONM-KBETR(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=EINF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KSTBM.&lt;/P&gt;&lt;P&gt;        L_KSTBM = W_ACC1-KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'KONM-KSTBM(01)'  L_KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'RV13A-KONMS(01)'  W_ACC1-VRKME.&lt;/P&gt;&lt;P&gt;        CLEAR L_KBETR.&lt;/P&gt;&lt;P&gt;        L_KBETR = W_ACC1-KZWI1.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'KONM-KBETR(01)'  L_KBETR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF ZCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION C_VK11  USING    T_BDCDATA    "#EC CI_CALLTA&lt;/P&gt;&lt;P&gt;                                   OPTIONS  FROM W_PARAMS&lt;/P&gt;&lt;P&gt;                                   MESSAGES INTO T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF W_BDCMSGCOLL-MSGTYP EQ C_E OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_I OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_ERROREXIST = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              W_ACC1-ERROR = C_3.&lt;/P&gt;&lt;P&gt;              MODIFY T_ACC1 FROM W_ACC1 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_ACC1-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Building the Internal Table to hold Success &amp;amp; Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR: W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                 G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Funtion module to output the error and sucess messages&lt;/P&gt;&lt;P&gt;&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               = W_BDCMSGCOLL-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = W_BDCMSGCOLL-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = W_BDCMSGCOLL-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = W_BDCMSGCOLL-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = W_BDCMSGCOLL-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = W_BDCMSGCOLL-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         W_MESSAGE1-VBELN  = W_IHEADER-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_MESSAGE1-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-KUNNR  = W_ACC1-KUNNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-KONDM  = W_ACC1-KONDM.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-ZCOUNT = W_ACC1-ZCOUNT.&lt;/P&gt;&lt;P&gt;            W_MESSAGE1-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;            CONCATENATE G_MESSAGE TEXT-016 W_ACC1-VBELN INTO W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND W_MESSAGE1 TO T_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR : W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                    G_MESSAGE,&lt;/P&gt;&lt;P&gt;                    W_MESSAGE1.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REFRESH : T_BDCDATA,&lt;/P&gt;&lt;P&gt;                    T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR W_ACC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_ACC1-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the first access sequence...............................ends     here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the second access sequence..............................starts   here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ACC2,&lt;/P&gt;&lt;P&gt;         L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_ACC2 BY VBELN KUNNR MATNR ASCENDING KSTBM DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ACC2 INTO W_ACC2.   "Looping at the Second Access Sequence Data Table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'        "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN        = W_ACC2-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_ACC2-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-KUNNR  = W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-MATNR  = W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;        W_MESSAGE2-MSGTYP = C_E.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-017 TEXT-016 W_ACC2-VBELN INTO W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND W_MESSAGE2 TO T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        W_ACC2-ERROR = C_2.   " 2 is the status which is used to indicate that this record is processed for error&lt;/P&gt;&lt;P&gt;        " message and would be deleted from the internal table before processing the BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MODIFY T_ACC2 FROM W_ACC2 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.        " If this record does not have the ZCount inconsistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR W_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT T_ACC2 INTO W_ACC2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Deletion from the Internal Table is done inorder to ensure that proper records get created.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  And only those records which are already processed for Error Management are deleted.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE T_ACC2 WHERE ERROR EQ C_2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR: L_ERROREXIST,&lt;/P&gt;&lt;P&gt;               L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT NEW MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_FLAG_NEW = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_FLAG_NEW EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR L_FLAG_NEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                        C_ZBPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=WEIT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(02)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-VKORG'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '/00'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                        P_VKORG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                        P_VTWEG.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-KUNNR'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-MATNR(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KOMG-ZZTECHSPEC(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-ZZTECHSPEC.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)'&lt;/P&gt;&lt;P&gt;                                        C_1000.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'KONP-KMEIN(01)'&lt;/P&gt;&lt;P&gt;                                        W_ACC2-VRKME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-MATNR(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=KTXT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLV70T' '0101'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'LV70T-LTX01(04)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=BACK'.&lt;/P&gt;&lt;P&gt;          L_ACC2_VBELN = W_ACC2-VBELN.&lt;/P&gt;&lt;P&gt;          SHIFT L_ACC2_VBELN LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'LV70T-LTX01(04)'&lt;/P&gt;&lt;P&gt;                                        L_ACC2_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1951'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'KOMG-MATNR(01)'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=PSTF'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RV130-SELKZ(01)'&lt;/P&gt;&lt;P&gt;                                        C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0303'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'KONM-KBETR(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=EINF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KSTBM.&lt;/P&gt;&lt;P&gt;        L_KSTBM = W_ACC2-KSTBM.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'KONM-KSTBM(01)' L_KSTBM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'RV13A-KONMS(01)' W_ACC2-VRKME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR  L_KBETR.&lt;/P&gt;&lt;P&gt;        L_KBETR = W_ACC2-KZWI1.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING 'KONM-KBETR(01)' L_KBETR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********END OF THE MATERIAL FOR A QUOTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION C_VK11  USING    T_BDCDATA    "#EC CI_CALLTA&lt;/P&gt;&lt;P&gt;                                   OPTIONS  FROM W_PARAMS&lt;/P&gt;&lt;P&gt;                                   MESSAGES INTO T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF W_BDCMSGCOLL-MSGTYP EQ C_E OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_I OR&lt;/P&gt;&lt;P&gt;               W_BDCMSGCOLL-MSGTYP EQ C_A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_ERROREXIST = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              W_ACC2-ERROR = C_3.&lt;/P&gt;&lt;P&gt;              MODIFY T_ACC2 FROM W_ACC2 TRANSPORTING ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_ACC2-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Building the Internal Table to hold Success &amp;amp; Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR: W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                 G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT T_BDCMSGCOLL INTO W_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&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               = W_BDCMSGCOLL-MSGID&lt;/P&gt;&lt;P&gt;                MSGNR               = W_BDCMSGCOLL-MSGNR&lt;/P&gt;&lt;P&gt;                MSGV1               = W_BDCMSGCOLL-MSGV1&lt;/P&gt;&lt;P&gt;                MSGV2               = W_BDCMSGCOLL-MSGV2&lt;/P&gt;&lt;P&gt;                MSGV3               = W_BDCMSGCOLL-MSGV3&lt;/P&gt;&lt;P&gt;                MSGV4               = W_BDCMSGCOLL-MSGV4&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                MESSAGE_TEXT_OUTPUT = G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         W_MESSAGE2-VBELN  = W_IHEADER-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            W_MESSAGE2-VKORG  = P_VKORG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-VTWEG  = P_VTWEG.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-KUNNR  = W_ACC2-KUNNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-MATNR  = W_ACC2-MATNR.&lt;/P&gt;&lt;P&gt;            W_MESSAGE2-MSGTYP = W_BDCMSGCOLL-MSGTYP.&lt;/P&gt;&lt;P&gt;            CONCATENATE G_MESSAGE TEXT-016 W_ACC2-VBELN INTO W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND W_MESSAGE2 TO T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR : W_BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;                    G_MESSAGE,&lt;/P&gt;&lt;P&gt;                    W_MESSAGE2.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REFRESH : T_BDCDATA,&lt;/P&gt;&lt;P&gt;                    T_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDAT.        "AT END OF MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.                            "IF W_ACC2-ERROR IS INITIAL / NOT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: W_ACC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_ACC2-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  code for the second access sequence..............................ends   here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Processing for Change of Sales Document starts here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_IHEADER,&lt;/P&gt;&lt;P&gt;         L_ERROREXIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT EQ C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_EVVBAKE'        "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN        = W_IHEADER-VBELN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FOREIGN_LOCK = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_UNAME = SY-MSGV1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE E042(V1) WITH W_IHEADER-VBELN L_UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_ACC1 INTO W_ACC1 WHERE VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC1-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        L_ERROREXIST = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_ACC2 INTO W_ACC2 WHERE VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT W_ACC2-ERROR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        L_ERROREXIST = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L_ERROREXIST IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM CHANGE_SALESDOCUMENT_STATUS USING W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DEQUEUE_EVVBAKE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VBELN = W_IHEADER-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR L_ERROREXIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_CONDITIONS&lt;/P&gt;&lt;P&gt;&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  CHANGE_SALESDOCUMENT_STATUS&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;      Shall change the status of Order Reason for the given Quotation&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;  P_VBELN   Quotation Number&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;&lt;/P&gt;&lt;P&gt;FORM CHANGE_SALESDOCUMENT_STATUS USING P_VBELN TYPE VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_IN  TYPE BAPISDH1,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX TYPE BAPISDH1X,&lt;/P&gt;&lt;P&gt;         W_RETURN           TYPE BAPIRET2,        "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         T_ORDER_HEADER_IN  TYPE STANDARD TABLE OF BAPISDH1,    "#EC NEEDED&lt;/P&gt;&lt;P&gt;         T_ORDER_HEADER_INX TYPE STANDARD TABLE OF BAPISDH1X,   "#EC NEEDED&lt;/P&gt;&lt;P&gt;         T_RETURN           TYPE STANDARD TABLE OF BAPIRET2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ORDER_HEADER_IN,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT T_IHEADER INTO W_IHEADER WHERE SELECT = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_IN-ORD_REASON = 'Q3'.&lt;/P&gt;&lt;P&gt;  APPEND W_ORDER_HEADER_IN TO T_ORDER_HEADER_IN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_INX-UPDATEFLAG = C_U.&lt;/P&gt;&lt;P&gt;  W_ORDER_HEADER_INX-ORD_REASON = C_X.&lt;/P&gt;&lt;P&gt;  APPEND W_ORDER_HEADER_INX TO T_ORDER_HEADER_INX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Bapi to change status of open sales IHEADERs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_SALESORDER_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SALESDOCUMENT    = P_VBELN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_IN  = W_ORDER_HEADER_IN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_INX = W_ORDER_HEADER_INX&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RETURN           = T_RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_RETURN.&lt;/P&gt;&lt;P&gt;  READ TABLE T_RETURN INTO W_RETURN WITH KEY TYPE = 'E'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ENDPOS_COL   = C_100&lt;/P&gt;&lt;P&gt;        ENDPOS_ROW   = C_25&lt;/P&gt;&lt;P&gt;        STARTPOS_COL = C_5&lt;/P&gt;&lt;P&gt;        STARTPOS_ROW = C_5&lt;/P&gt;&lt;P&gt;        TITLETEXT    = C_ERROR&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUETAB     = T_RETURN&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        BREAK_OFF    = 1&lt;/P&gt;&lt;P&gt;        OTHERS       = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = ' '.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_ORDER_HEADER_IN,&lt;/P&gt;&lt;P&gt;         W_ORDER_HEADER_INX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHANGE_SALESDOCUMENT_STATUS&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form takes the program name and screen number&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;p_program  Program Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_screen   Screen Number&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 BDC_DYNPRO  USING    P_PROGRAM TYPE BDCDATA-PROGRAM&lt;/P&gt;&lt;P&gt;                          P_SCREEN  TYPE BDCDATA-DYNPRO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_BDCDATA-PROGRAM     = P_PROGRAM.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-DYNPRO      = P_SCREEN.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-DYNBEGIN    = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  W_BDCDATA.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form takes the field name and field value&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;p_fnam   Field Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_fval   Field Value&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 BDC_FIELD  USING    P_FNAM TYPE ANY&lt;/P&gt;&lt;P&gt;                         P_FVAL TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  W_BDCDATA-FNAM = P_FNAM.&lt;/P&gt;&lt;P&gt;  W_BDCDATA-FVAL = P_FVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND  W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_field&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  DISPLAY_RESULT&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;      Displays all the messages regarding posting of Condition Records&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;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_RESULT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages related to the First Access Sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MESSAGE1 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /70 TEXT-008.&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_MESSAGE1 BY VKORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /9 TEXT-010, 24 TEXT-011, 50 TEXT-012, 70 TEXT-013.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_FLAG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_MESSAGE1 INTO W_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VKORG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VTWEG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KUNNR.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KONDM.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE : /9 W_MESSAGE1-VKORG, 24 W_MESSAGE1-VTWEG,&lt;/P&gt;&lt;P&gt;                                 50 W_MESSAGE1-KUNNR, 70 W_MESSAGE1-KONDM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE: /9 TEXT-014, 23 TEXT-019, 45 TEXT-015.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE : /9 W_MESSAGE1-MSGTYP, 23 W_MESSAGE1-ZCOUNT, 45 W_MESSAGE1-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_FLAG1,&lt;/P&gt;&lt;P&gt;             W_MESSAGE1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH T_MESSAGE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages related to the Second Access Sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MESSAGE2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;    WRITE : /70 TEXT-009.&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT T_MESSAGE2 BY VKORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : /9 TEXT-010, 24 TEXT-011, 50 TEXT-012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_FLAG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_MESSAGE2 INTO W_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VKORG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW VTWEG.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW KUNNR.&lt;/P&gt;&lt;P&gt;        G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF G_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE : /9 W_MESSAGE2-VKORG, 24 W_MESSAGE2-VTWEG, 50 W_MESSAGE2-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SKIP 1.&lt;/P&gt;&lt;P&gt;        WRITE: /9 TEXT-014, 23 TEXT-020, 45 TEXT-015.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE : /9 W_MESSAGE2-MSGTYP, 23 W_MESSAGE2-MATNR, 45 W_MESSAGE2-TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_FLAG1,&lt;/P&gt;&lt;P&gt;             W_MESSAGE2.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH T_MESSAGE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_RESULT&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  CAPTURE_SCREEN&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;      Captures the Selection Screen Values of the present program&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;&lt;/P&gt;&lt;P&gt;FORM CAPTURE_SCREEN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA   L_REPID     TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH T_SELECT.&lt;/P&gt;&lt;P&gt;  L_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CURR_REPORT           = L_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SP                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      SELECTION_TABLE       = T_SELECT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     NOT_FOUND             = 1&lt;/P&gt;&lt;P&gt;     NO_REPORT             = 2&lt;/P&gt;&lt;P&gt;     OTHERS                = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CAPTURE_SCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kiran.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 09:04:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406913#M536575</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T09:04:30Z</dc:date>
    </item>
    <item>
      <title>Re: regarding report program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406914#M536576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Hareesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Copy and paste this simple report in your SE38 and run.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yourself will find out the option to code your program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  znazcheck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis, icon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_mard,&lt;/P&gt;&lt;P&gt;        stat(4) TYPE c,&lt;/P&gt;&lt;P&gt;        check,&lt;/P&gt;&lt;P&gt;        matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;        werks TYPE werks_d,&lt;/P&gt;&lt;P&gt;        lgort TYPE lgort_d,&lt;/P&gt;&lt;P&gt;        END OF ty_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_mard TYPE STANDARD TABLE OF ty_mard,&lt;/P&gt;&lt;P&gt;       wa_mard TYPE ty_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: st_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA: l_wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: it_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE icon_green_light 'Click This!'&lt;/P&gt;&lt;P&gt;  INTO but1 SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort FROM mard INTO CORRESPONDING FIELDS OF TABLE it_mard&lt;/P&gt;&lt;P&gt;            WHERE werks = 'CH01'. "p_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*LAYOUT&lt;/P&gt;&lt;P&gt;  st_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*field cat&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-fieldname    = 'CHECK'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-tabname      = 'IT_MARD'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-reptext_ddic = 'SELECT'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-checkbox = 'X'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_fieldcat.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-fieldname    = 'MATNR'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-tabname      = 'IT_MARD'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-reptext_ddic = 'MATERIAL no'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-outputlen    = '20'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_fieldcat-edit      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-fieldname    = 'WERKS'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-tabname      = 'IT_MARD'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-reptext_ddic = 'PLANT'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-outputlen    = '20'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-fieldname    = 'LGORT'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-tabname      = 'IT_MARD'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-reptext_ddic = 'STORAGE'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-outputlen    = '20'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-fieldname    = 'STAT'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-tabname      = 'IT_MARD'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-reptext_ddic = 'STATUS'.&lt;/P&gt;&lt;P&gt;  l_wa_fieldcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program      = sy-repid&lt;/P&gt;&lt;P&gt;      i_callback_user_command = 'F_USER'&lt;/P&gt;&lt;P&gt;      is_layout               = st_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat             = it_fieldcat&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                = it_mard&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error           = 1&lt;/P&gt;&lt;P&gt;      OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE 'EEROR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDCASE.&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  f_user&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;RF_UCOMM     text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SELFIELD  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 f_user USING rf_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                    rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF ty_it_1,&lt;/P&gt;&lt;P&gt;         matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;         END OF ty_it_1.&lt;/P&gt;&lt;P&gt;  DATA: wa TYPE ty_it_1.&lt;/P&gt;&lt;P&gt;  DATA: it_1 TYPE STANDARD TABLE OF ty_it_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_fieldcat1 TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  DATA: it_fieldcat1 TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE rf_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF rs_selfield-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;        LOOP AT it_mard INTO wa_mard WHERE check = 'X'.&lt;/P&gt;&lt;P&gt;          wa-matnr = wa_mard-matnr.&lt;/P&gt;&lt;P&gt;          APPEND wa TO it_1.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-col_pos = '1'.&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-fieldname    = 'MATNR'.&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-tabname      = 'IT_1'.&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-reptext_ddic = 'Material'.&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-outputlen    = '20'.&lt;/P&gt;&lt;P&gt;        l_wa_fieldcat1-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        APPEND l_wa_fieldcat1 TO it_fieldcat1.&lt;/P&gt;&lt;P&gt;        CLEAR l_wa_fieldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;            it_fieldcat        = it_fieldcat1&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            t_outtab           = it_1&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error      = 1&lt;/P&gt;&lt;P&gt;            OTHERS             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          WRITE 'EEROR'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_user&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewards if useful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;nazeer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 09:11:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406914#M536576</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T09:11:01Z</dc:date>
    </item>
    <item>
      <title>Re: regarding report program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406915#M536577</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;U need to add another character field in your internal table and then whenever it is cheked add a staement which can transport this to this character field in the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This can be downloaded using fm gui_download in the same way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please reward points if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;raksha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 09:18:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406915#M536577</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T09:18:31Z</dc:date>
    </item>
    <item>
      <title>Re: regarding report program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406916#M536578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanx for all those suggestions not i got right idea to track it out&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 09:49:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-report-program/m-p/2406916#M536578</guid>
      <dc:creator>hareesh_tadepalli</dc:creator>
      <dc:date>2007-07-02T09:49:05Z</dc:date>
    </item>
  </channel>
</rss>

