<?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: Pushbutton Inside ALV Grid in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499165#M564577</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lijo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to sap standard alv program(eg:BALVBT01  ). In that there will be a pfstatus name 'STANDARD' will b there. copy tht pf-status to ur program. then add ur push button to that copied pf-status.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Jul 2007 11:41:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-16T11:41:19Z</dc:date>
    <item>
      <title>Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499162#M564574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How can I add a pushbutton inside ALV toolbar?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:31:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499162#M564574</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T11:31:37Z</dc:date>
    </item>
    <item>
      <title>Re: Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499163#M564575</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;This can be included into ALV by defining a GUI and setting that GUI using Set PF Status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the below code for the same,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZSPRENH069 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.                            "Global Type for ALV 	&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;   T Y P E 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;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;&amp;lt;b&amp;gt;Reward points if this helps,&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Kiran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:34:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499163#M564575</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T11:34:08Z</dc:date>
    </item>
    <item>
      <title>Re: Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499164#M564576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;refer program BCALV_GRID_07&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:38:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499164#M564576</guid>
      <dc:creator>Pawan_Kesari</dc:creator>
      <dc:date>2007-07-16T11:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499165#M564577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lijo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to sap standard alv program(eg:BALVBT01  ). In that there will be a pfstatus name 'STANDARD' will b there. copy tht pf-status to ur program. then add ur push button to that copied pf-status.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:41:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499165#M564577</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T11:41:19Z</dc:date>
    </item>
    <item>
      <title>Re: Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499166#M564578</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;First Step:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a GUI Status : Tcode SE41&lt;/P&gt;&lt;P&gt;Gui Status: GUI_ALV1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To Get the Standard Functions of ALV into the GUI status:&lt;/P&gt;&lt;P&gt;menu path in SE41&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Extras -&amp;gt; Adjust Template&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;  Select &amp;lt;b&amp;gt;List Viewer&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add the New Button with Function code &lt;/P&gt;&lt;P&gt;Eg: %NEW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Check this Sample Code:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data i_mat type table of mara WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : G_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE SY-REPID TO G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from mara into table i_mat UP TO 100 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_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;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;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = G_REPID&lt;/P&gt;&lt;P&gt;   I_CALLBACK_PF_STATUS_SET       = 'SET_GUI'&lt;/P&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;   I_STRUCTURE_NAME               = 'MARA'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    t_outtab                       = I_MAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SET_GUI USING  EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'GUI_ALV1' EXCLUDING EXTAB.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_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;  CASE R_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;NEW'.                      "BUTTON ADDED IN TOOLBAR&lt;/P&gt;&lt;P&gt;      READ TABLE I_MAT INDEX RS_SELFIELD-TABINDEX. "cursorposit.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR R_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:46:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499166#M564578</guid>
      <dc:creator>varma_narayana</dc:creator>
      <dc:date>2007-07-16T11:46:32Z</dc:date>
    </item>
    <item>
      <title>Re: Pushbutton Inside ALV Grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499167#M564579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;yes  it is  possible  ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please see this  program &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
report zalv_toolbar*********
INCLUDE &amp;lt;icon&amp;gt;.

DATA: ok_code LIKE sy-ucomm,
      gt_spfli   TYPE TABLE OF spfli,
      gt_sflight TYPE TABLE OF sflight,
      g_repid LIKE sy-repid,
      g_max type i value 100,
      gs_layout   TYPE lvc_s_layo,
      gs_toolbar  TYPE stb_button,
      cont_on_100   TYPE scrfname VALUE 'BCALVC_TOOLBAR_D100_C1',
      cont_on_200   TYPE scrfname VALUE 'BCALVC_TOOLBAR_D200_C1',
      grid1  TYPE REF TO cl_gui_alv_grid,
      grid2  TYPE REF TO cl_gui_alv_grid,
      custom_container1 TYPE REF TO cl_gui_custom_container,
      custom_container2 TYPE REF TO cl_gui_custom_container,
      event_receiver TYPE REF TO lcl_event_receiver.

* Set initial dynpro
SET SCREEN 100.

****************************************************************
* LOCAL CLASSES: Definition
****************************************************************
*===============================================================
* class lcl_event_receiver: local class to
*                         define and handle own functions.
*
* Definition:
* ~~~~~~~~~~~
CLASS lcl_event_receiver DEFINITION.

  PUBLIC SECTION.


    CLASS-METHODS:
     handle_toolbar
        FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING e_object e_interactive,

     handle_menu_button
        FOR EVENT menu_button OF cl_gui_alv_grid
            IMPORTING e_object e_ucomm,

    handle_user_command
        FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING e_ucomm.

  PRIVATE SECTION.

ENDCLASS.
*
* lcl_event_receiver (Definition)
*===============================================================

****************************************************************
* LOCAL CLASSES: Implementation
****************************************************************
*===============================================================
* class lcl_event_receiver (Implementation)
*
*
CLASS lcl_event_receiver IMPLEMENTATION.

  METHOD handle_toolbar.
* § 2.At event TOOLBAR define a toolbar element of type 2 by using
*    event paramenter E_OBJECT. Remember its function code.
*.......
* Part I: Define a menu button including a function code that
*         is evaluated in 'handle_MENU_BUTTON
*.......


* append a separator to normal toolbar
    CLEAR gs_toolbar.
    MOVE 3 TO gs_toolbar-butn_type.
    APPEND gs_toolbar TO e_object-&amp;gt;mt_toolbar.

* append a menut o switch between detail levels.

    CLEAR gs_toolbar.
    MOVE 'DETAIL_MENU' TO gs_toolbar-function.
* --&amp;gt; This function code is evaluated in 'handle_menu_button'
    MOVE icon_detail TO gs_toolbar-icon.
    MOVE 'Switch to Table...'(101) TO gs_toolbar-quickinfo.
    MOVE 2 TO gs_toolbar-butn_type.
    MOVE space TO gs_toolbar-disabled.
    APPEND gs_toolbar TO e_object-&amp;gt;mt_toolbar.

  ENDMETHOD.
*--------------------------------------------------------------------
  METHOD handle_menu_button.
* § 3.At event MENU_BUTTON query your function code and define a
*     menu in the same way as a context menu.
*..........
* Part II: Evaluate 'e_ucomm' to see which menu button of the toolbar
*          has been clicked on.
*          Define then the corresponding menu.
*          The menu contains function codes that are evaluated
*          in 'handle_user_command'.
*...........

* handle own menubuttons
    IF e_ucomm = 'DETAIL_MENU'.
      CALL METHOD e_object-&amp;gt;add_function
                  EXPORTING fcode   = 'TO_SPFLI'
                            text    = text-100. "Overview
      CALL METHOD e_object-&amp;gt;add_function
                  EXPORTING fcode   = 'TO_SFLIGHT'
                            text    = text-200. "Flights

    ENDIF.
  ENDMETHOD.
*---------------------------------------------------------------------
  METHOD handle_user_command.
* § 4.At event USER_COMMAND query the function code of each function
*     defined in step 3.
*.........
* Part III : Evaluate user command to invoke the corresponding
*            function.
*.........

    DATA: lt_rows TYPE lvc_t_row.

* get selected row
    CALL METHOD grid1-&amp;gt;get_selected_rows
             IMPORTING et_index_rows = lt_rows.
    CALL METHOD cl_gui_cfw=&amp;gt;flush.
    IF sy-subrc ne 0.
* add your handling, for example
      CALL FUNCTION 'POPUP_TO_INFORM'
           EXPORTING
                titel = g_repid
                txt2  = sy-subrc
                txt1  = 'Error in Flush'(500).
    ENDIF.

* go to other table
    CASE e_ucomm.
      WHEN 'TO_SPFLI'.
        LEAVE TO SCREEN 100.
      WHEN 'TO_SFLIGHT'.
        PERFORM load_sflight_table TABLES lt_rows.
        CALL SCREEN 200.

    ENDCASE.
  ENDMETHOD.                           "handle_user_command
ENDCLASS.
*
* lcl_event_receiver (Implementation)
*===================================================================

*---------------------------------------------------------------------*
*       FORM EXIT_PROGRAM                                             *
*---------------------------------------------------------------------*
FORM exit_program.
* The instance custom_container2 is freed not until the program
* exits from the main screen.
* (It is created only once during the first selection of SFLIGHT,
* no matter how many times the second window is called).
*
  CALL METHOD custom_container1-&amp;gt;free.
  IF not custom_container2 is initial.
    CALL METHOD custom_container2-&amp;gt;free.
  ENDIF.

  CALL METHOD cl_gui_cfw=&amp;gt;flush.
  IF sy-subrc ne 0.
* add your handling, for example
    CALL FUNCTION 'POPUP_TO_INFORM'
         EXPORTING
              titel = g_repid
              txt2  = sy-subrc
              txt1  = 'Error in Flush'(500).
  ENDIF.
  LEAVE PROGRAM.
ENDFORM.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PBO_100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pbo_100 OUTPUT.

  SET PF-STATUS 'MAIN100'.
  set titlebar 'MAIN100'.
  g_repid = sy-repid.
  IF custom_container1 is initial.
* select data from table SPFLI
    PERFORM select_table_spfli CHANGING gt_spfli.
* select data from table SFLIGHT
*    PERFORM SELECT_TABLE_SFLIGHT CHANGING GT_SFLIGHT.

* create a custom container control for our ALV Control
    CREATE OBJECT custom_container1
        EXPORTING
            container_name = cont_on_100.

* create an instance of alv control
    CREATE OBJECT grid1
           EXPORTING i_parent = custom_container1.

*
* Set a titlebar for the grid control
*
    gs_layout-grid_title = text-100.
    CALL METHOD grid1-&amp;gt;set_table_for_first_display
         EXPORTING i_structure_name = 'SPFLI'
                   is_layout        = gs_layout
         CHANGING  it_outtab        = gt_spfli.

********
* -&amp;gt;Create Object to receive events and link them to handler methods.
* When the ALV Control raises the event
* the corresponding method is called FOR GRID1.
* (Complies to their definition as CLASS-METHODS).
*
    CREATE OBJECT event_receiver.
    SET HANDLER event_receiver-&amp;gt;handle_user_command
                event_receiver-&amp;gt;handle_menu_button
                event_receiver-&amp;gt;handle_toolbar for grid1.
*
********

* raise event TOOLBAR:
    CALL METHOD grid1-&amp;gt;set_toolbar_interactive.
  ENDIF.
  CALL METHOD cl_gui_control=&amp;gt;set_focus EXPORTING control = grid1.

ENDMODULE.                             " PBO_100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PAI_100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pai_100 INPUT.

  CASE ok_code.
    WHEN 'EXIT'.
      PERFORM exit_program.

  ENDCASE.
  CLEAR ok_code.
ENDMODULE.                             " PAI_100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PBO_200  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pbo_200 OUTPUT.

  SET PF-STATUS 'MAIN100'.
  g_repid = sy-repid.
  IF custom_container2 is initial.
* data of sflight is already selected!

* create a custom container control for our ALV Control
    CREATE OBJECT custom_container2
        EXPORTING
            container_name = cont_on_200.

* create an instance of alv control
    CREATE OBJECT grid2
           EXPORTING i_parent = custom_container2.
*
* Set a titlebar for the grid control
*
    gs_layout-grid_title = text-200.
    CALL METHOD grid2-&amp;gt;set_table_for_first_display
         EXPORTING i_structure_name = 'SFLIGHT'
                   is_layout        = gs_layout
         CHANGING  it_outtab        = gt_sflight.


********
* -&amp;gt;Create Object to receive events and link them to handler methods.
* When the ALV Control raises the event
* the corresponding method is called FOR GRID2.
* (Complies to their definition as CLASS-METHODS).
*
    SET HANDLER
                event_receiver-&amp;gt;handle_user_command
                event_receiver-&amp;gt;handle_menu_button
                event_receiver-&amp;gt;handle_toolbar for grid2.
*
********

    CALL METHOD grid2-&amp;gt;set_toolbar_interactive.

  ELSE.
* Since new data has been selected, 'grid2' must be refreshed!
    CALL METHOD grid2-&amp;gt;refresh_table_display.
  ENDIF.
  CALL METHOD cl_gui_control=&amp;gt;set_focus EXPORTING control = grid2.

ENDMODULE.                             " PBO_200  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PAI_200  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pai_200 INPUT.

  CASE ok_code.
    WHEN 'EXIT'.
      PERFORM exit_program.

  ENDCASE.
  CLEAR ok_code.
ENDMODULE.                             " PAI_200  INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECT_TABLE_SFLIGHT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      &amp;lt;--P_GT_SFLIGHT  text
*----------------------------------------------------------------------*
FORM select_table_sflight USING    p_ls_spfli LIKE LINE OF gt_spfli
                          CHANGING p_gt_sflight LIKE gt_sflight[].
  SELECT * FROM sflight INTO TABLE p_gt_sflight up to g_max rows
              WHERE carrid = p_ls_spfli-carrid
              AND   connid = p_ls_spfli-connid.

ENDFORM.                               " SELECT_TABLE_SFLIGHT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECT_TABLE_SPFLI
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      &amp;lt;--P_GT_SPFLI  text
*----------------------------------------------------------------------*
FORM select_table_spfli CHANGING p_gt_spfli LIKE gt_spfli[].
  SELECT * FROM spfli INTO TABLE p_gt_spfli.
ENDFORM.                               " SELECT_TABLE_SPFLI
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  load_sflight_table
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_LT_ROWS  text
*----------------------------------------------------------------------*

FORM load_sflight_table TABLES p_et_index_rows STRUCTURE lvc_s_row.

  DATA: ls_selected_line LIKE lvc_s_row,
        lf_row_index TYPE lvc_index,
        ls_spfli LIKE LINE OF gt_spfli.

  CLEAR gt_sflight[].
  READ TABLE p_et_index_rows INDEX 1 INTO ls_selected_line.
  IF sy-subrc eq 0.
    lf_row_index = ls_selected_line-index.
* read selected row from internal table gt_sflight
    READ TABLE gt_spfli INDEX lf_row_index INTO ls_spfli.

* select corresponding lines of table sflight

    PERFORM select_table_sflight USING ls_spfli
                               CHANGING gt_sflight.
  ENDIF.

ENDFORM.                               " load_sflight_table&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points  if it is usefull .....&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 12:17:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbutton-inside-alv-grid/m-p/2499167#M564579</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T12:17:26Z</dc:date>
    </item>
  </channel>
</rss>

