<?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 validation in alv report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592014#M864884</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends i am new to abap.i am doing some validation in my report .my program is executing properly but i need  some modification.... its alv report on bapi for GOODS MOVEMENT TYPE For tht i am uploading a flat file using gui_upload.but i need some modification on validation..this program is abt goods transfer from one plant to another plant,s location .so in my flat file i am having material,from plant ,from location,to plant,to location and quantity .here is the code:&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  VALIDATE_DATA&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;1.Check Material in Table MARC &amp;gt;&amp;gt; Material Plant Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Material Not Found in Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.Check Plant is Assigned to POrg in Table T024W &amp;gt;&amp;gt; Plant POrg Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid POrg for Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.Check Location for Plant and Location in Table T001L &amp;gt;&amp;gt; Plant SLoc Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid Storage Location for Plant'&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 validate_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_ekorg TYPE t024e-ekorg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get POrg for CompanyCode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE ekorg INTO lv_ekorg FROM t024e&lt;/P&gt;&lt;P&gt;        WHERE bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_final.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE * FROM marc&lt;/P&gt;&lt;P&gt;                    WHERE matnr = it_final-matnr&lt;/P&gt;&lt;P&gt;                      AND werks = it_final-f_werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;      it_final-remark = 'Material Not Found in Plant'.&lt;/P&gt;&lt;P&gt;      MODIFY it_final.&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;Check-2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT SINGLE * FROM t024w&lt;/P&gt;&lt;P&gt;                   WHERE werks = it_final-t_werks&lt;/P&gt;&lt;P&gt;                     AND ekorg = lv_ekorg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;        it_final-remark = 'Invalid POrg for Plant'.&lt;/P&gt;&lt;P&gt;        MODIFY it_final.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE * FROM t001l&lt;/P&gt;&lt;P&gt;                             WHERE werks  = it_final-t_werks&lt;/P&gt;&lt;P&gt;                              AND lgort = it_final-t_lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;          it_final-remark = 'Invalid Storage Location for Plant'.&lt;/P&gt;&lt;P&gt;          MODIFY it_final.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for this code i am getting output as if plant value is wrong then there will be a remark in the output as material is 'Material Not Found in Plant'....and as same for location n purchase organization....&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;P&gt;But in my output i want ,if there is plant n location is wrong the then 2 remarks should display in 2 rows but like wise now i am getting only one remark for 2 errors also..........getting  remark based on first condition....&lt;/P&gt;&lt;P&gt;can any one help me hw to solve ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 29 Mar 2008 15:35:39 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-29T15:35:39Z</dc:date>
    <item>
      <title>validation in alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592014#M864884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends i am new to abap.i am doing some validation in my report .my program is executing properly but i need  some modification.... its alv report on bapi for GOODS MOVEMENT TYPE For tht i am uploading a flat file using gui_upload.but i need some modification on validation..this program is abt goods transfer from one plant to another plant,s location .so in my flat file i am having material,from plant ,from location,to plant,to location and quantity .here is the code:&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  VALIDATE_DATA&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;1.Check Material in Table MARC &amp;gt;&amp;gt; Material Plant Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Material Not Found in Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.Check Plant is Assigned to POrg in Table T024W &amp;gt;&amp;gt; Plant POrg Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid POrg for Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.Check Location for Plant and Location in Table T001L &amp;gt;&amp;gt; Plant SLoc Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid Storage Location for Plant'&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 validate_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_ekorg TYPE t024e-ekorg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get POrg for CompanyCode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE ekorg INTO lv_ekorg FROM t024e&lt;/P&gt;&lt;P&gt;        WHERE bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_final.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE * FROM marc&lt;/P&gt;&lt;P&gt;                    WHERE matnr = it_final-matnr&lt;/P&gt;&lt;P&gt;                      AND werks = it_final-f_werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;      it_final-remark = 'Material Not Found in Plant'.&lt;/P&gt;&lt;P&gt;      MODIFY it_final.&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;Check-2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT SINGLE * FROM t024w&lt;/P&gt;&lt;P&gt;                   WHERE werks = it_final-t_werks&lt;/P&gt;&lt;P&gt;                     AND ekorg = lv_ekorg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;        it_final-remark = 'Invalid POrg for Plant'.&lt;/P&gt;&lt;P&gt;        MODIFY it_final.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE * FROM t001l&lt;/P&gt;&lt;P&gt;                             WHERE werks  = it_final-t_werks&lt;/P&gt;&lt;P&gt;                              AND lgort = it_final-t_lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 4.&lt;/P&gt;&lt;P&gt;          it_final-remark = 'Invalid Storage Location for Plant'.&lt;/P&gt;&lt;P&gt;          MODIFY it_final.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for this code i am getting output as if plant value is wrong then there will be a remark in the output as material is 'Material Not Found in Plant'....and as same for location n purchase organization....&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;P&gt;But in my output i want ,if there is plant n location is wrong the then 2 remarks should display in 2 rows but like wise now i am getting only one remark for 2 errors also..........getting  remark based on first condition....&lt;/P&gt;&lt;P&gt;can any one help me hw to solve ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Mar 2008 15:35:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592014#M864884</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-29T15:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: validation in alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592015#M864885</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;try this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM validate_data .

DATA: lv_ekorg TYPE t024e-ekorg.

data idx type sy-tabix.

    * Get POrg for CompanyCode

SELECT SINGLE ekorg INTO lv_ekorg FROM t024e
WHERE bukrs EQ p_bukrs.

LOOP AT it_final.

 if it_final-matnr na sy-abcde.
unpack it_final-matnr to it_final-matnr.
endif.

SELECT SINGLE * FROM marc
WHERE matnr = it_final-matnr
AND werks = it_final-f_werks.
IF sy-subrc ne 0.
it_final-remark = 'Material Not Found in Plant'.
MODIFY it_final index idx.

ELSE.

    * Check-2

SELECT SINGLE * FROM t024w
WHERE werks = it_final-t_werks
AND ekorg = lv_ekorg.
IF sy-subrc ne 0.
it_final-remark = 'Invalid POrg for Plant'.
MODIFY it_final index idx.
ELSE.

    * Check-3

SELECT SINGLE * FROM t001l
WHERE werks = it_final-t_werks
AND lgort = it_final-t_lgort.

IF sy-subrc = 4.
it_final-remark = 'Invalid Storage Location for Plant'.
MODIFY it_final index idx..
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.

ENDFORM. " VALIDATE_DATA&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if usefull&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can i have ur full code&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Mar 2008 15:46:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592015#M864885</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-29T15:46:34Z</dc:date>
    </item>
    <item>
      <title>Re: validation in alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592016#M864886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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; Report  YSG_IM_F2_002                                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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;   This object is  for goods transfer from one plant to another      *&lt;/P&gt;&lt;P&gt;*&amp;amp;   plant using FM-BAPI_GOODSMVT_CREATE                               *&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;&lt;/P&gt;&lt;P&gt;REPORT  YSG_IM_F2_002                           .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: marc, t024w, t001l.&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;TYPES:  BEGIN OF i_list,&lt;/P&gt;&lt;P&gt;        matnr LIKE mard-matnr,&lt;/P&gt;&lt;P&gt;        f_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;        f_lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;        t_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;        t_lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;        labst LIKE mard-labst,&lt;/P&gt;&lt;P&gt;        remark TYPE c,&lt;/P&gt;&lt;P&gt;       END OF i_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_mara,&lt;/P&gt;&lt;P&gt;       matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;       END OF i_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF i_marc,&lt;/P&gt;&lt;P&gt;      matnr LIKE marc-matnr,&lt;/P&gt;&lt;P&gt;      werks LIKE marc-werks,&lt;/P&gt;&lt;P&gt;      END OF i_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_mard,&lt;/P&gt;&lt;P&gt;        matnr LIKE mard-matnr,&lt;/P&gt;&lt;P&gt;        f_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;        f_lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;        t_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;        t_lgort LIKE mard-lgort  ,&lt;/P&gt;&lt;P&gt;        labst LIKE mard-labst,&lt;/P&gt;&lt;P&gt;        END OF i_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_t001l,&lt;/P&gt;&lt;P&gt;       bukrs TYPE t001l-werks,&lt;/P&gt;&lt;P&gt;       lgort TYPE t001l-lgort,&lt;/P&gt;&lt;P&gt;       END OF i_t001l.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_t024e,&lt;/P&gt;&lt;P&gt;       ekorg TYPE t024e-ekorg,&lt;/P&gt;&lt;P&gt;       bukrs TYPE t024e-bukrs,&lt;/P&gt;&lt;P&gt;       END OF i_t024e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_mkpf,&lt;/P&gt;&lt;P&gt;       xblnr type mkpf-xblnr,&lt;/P&gt;&lt;P&gt;       END OF i_mkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF i_final,&lt;/P&gt;&lt;P&gt;       matnr LIKE mard-matnr,&lt;/P&gt;&lt;P&gt;       f_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;       f_lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;       t_werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;       t_lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;       labst type c ,&lt;/P&gt;&lt;P&gt;       remark(50) type c,&lt;/P&gt;&lt;P&gt;      END OF i_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : filename TYPE string,&lt;/P&gt;&lt;P&gt;       title type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_list TYPE STANDARD TABLE OF i_list WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_mara TYPE STANDARD TABLE OF i_mara WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_marc TYPE STANDARD TABLE OF i_marc WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_mard TYPE STANDARD TABLE OF i_mard WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_t001l TYPE STANDARD TABLE OF i_t001l WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_t024e TYPE STANDARD TABLE OF i_t024e WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_mkpf TYPE STANDARD TABLE OF i_mkpf WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_final TYPE STANDARD TABLE OF i_final WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: fs_fldcat TYPE slis_fieldcat_alv ,   "Structure for Field catalog&lt;/P&gt;&lt;P&gt;      it_fldcat LIKE TABLE OF fs_fldcat,&lt;/P&gt;&lt;P&gt;      layout    TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      V_REPID   LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;      EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      GW_EVENT       TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      GI_LISTHEADER  TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lv_matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;      lv_ekorg TYPE t024e-ekorg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gmhead.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi2017_gm_head_01.&lt;/P&gt;&lt;P&gt;DATA: END OF gmhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gmcode.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi2017_gm_code.&lt;/P&gt;&lt;P&gt;DATA: END OF gmcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mthead.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi2017_gm_head_ret.&lt;/P&gt;&lt;P&gt;DATA: END OF mthead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi2017_gm_item_create.&lt;/P&gt;&lt;P&gt;DATA: END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF errmsg OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapiret2.&lt;/P&gt;&lt;P&gt;DATA: END OF errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: wmenge like iseg-menge,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     errflag.&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;**********************************************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Selection Screen Declaration&lt;/P&gt;&lt;P&gt;****************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_bukrs LIKE t024e-bukrs OBLIGATORY,&lt;/P&gt;&lt;P&gt;            ekorg LIKE t024e-ekorg,&lt;/P&gt;&lt;P&gt;            f_file LIKE ibipparms-path OBLIGATORY,&lt;/P&gt;&lt;P&gt;            xblnr like mkpf-xblnr,&lt;/P&gt;&lt;P&gt;            Doc_Post type checkbox.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR f_file .&lt;/P&gt;&lt;P&gt;  CLEAR f_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PROGRAM_NAME  = .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DYNPRO_NUMBER = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      file_name     = f_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = f_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = filename&lt;/P&gt;&lt;P&gt;      filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;      has_field_separator     = 'x'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = it_final&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_error         = 1&lt;/P&gt;&lt;P&gt;      file_read_error         = 2&lt;/P&gt;&lt;P&gt;      no_batch                = 3&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_authority            = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      bad_data_format         = 8&lt;/P&gt;&lt;P&gt;      header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;      header_too_long         = 11&lt;/P&gt;&lt;P&gt;      unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;      access_denied           = 13&lt;/P&gt;&lt;P&gt;      dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;      disk_full               = 15&lt;/P&gt;&lt;P&gt;      dp_timeout              = 16&lt;/P&gt;&lt;P&gt;      OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &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;  PERFORM validate_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bapi_goods_mvt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM alv_grid_display.&lt;/P&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; PERFORM BAPI_GOODS_MVT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  VALIDATE_DATA&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;1.Check Material in Table MARC &amp;gt;&amp;gt; Material Plant Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Material Not Found in Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.Check Plant is Assigned to POrg in Table T024W &amp;gt;&amp;gt; Plant POrg Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid POrg for Plant'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.Check Location for Plant and Location in Table T001L &amp;gt;&amp;gt; Plant SLoc Validation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not found, Fill Remarks with 'Invalid Storage Location for Plant'&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 validate_data .&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;Get POrg for CompanyCode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE ekorg INTO lv_ekorg FROM t024e&lt;/P&gt;&lt;P&gt;        WHERE bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_final.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = it_final-matnr&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = lv_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM marc&lt;/P&gt;&lt;P&gt;                    WHERE matnr = lv_matnr&lt;/P&gt;&lt;P&gt;                      AND werks = it_final-f_werks.&lt;/P&gt;&lt;P&gt;     IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      it_final-remark = 'Material Not Found in Plant'.&lt;/P&gt;&lt;P&gt;      append it_final .&lt;/P&gt;&lt;P&gt;     endif  .&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM marc&lt;/P&gt;&lt;P&gt;                   WHERE matnr = lv_matnr&lt;/P&gt;&lt;P&gt;                     AND werks = it_final-t_werks.&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;      it_final-remark = 'Material Not Found in Plant'.&lt;/P&gt;&lt;P&gt;      append it_final .&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT SINGLE * FROM t024w&lt;/P&gt;&lt;P&gt;                   WHERE werks = it_final-t_werks&lt;/P&gt;&lt;P&gt;                     AND ekorg = lv_ekorg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        it_final-remark = 'Invalid POrg for Plant'.&lt;/P&gt;&lt;P&gt;              append it_final .&lt;/P&gt;&lt;P&gt;      Endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM t024w&lt;/P&gt;&lt;P&gt;                   WHERE werks = it_final-f_werks&lt;/P&gt;&lt;P&gt;                     AND ekorg = lv_ekorg.&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;        it_final-remark = 'Invalid POrg for Plant'.&lt;/P&gt;&lt;P&gt;             append it_final .&lt;/P&gt;&lt;P&gt;      Endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check-3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE * FROM t001l&lt;/P&gt;&lt;P&gt;                             WHERE werks  = it_final-t_werks&lt;/P&gt;&lt;P&gt;                              AND lgort = it_final-t_lgort.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          it_final-remark = 'Invalid Storage Location for Plant'.&lt;/P&gt;&lt;P&gt;                append it_final .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM t001l&lt;/P&gt;&lt;P&gt;                              WHERE werks  = it_final-f_werks&lt;/P&gt;&lt;P&gt;                               AND lgort = it_final-f_lgort.&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;          it_final-remark = 'Invalid Storage Location for Plant'.&lt;/P&gt;&lt;P&gt;               append it_final .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_DATA&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  ALV_GRID_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM alv_grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:l_edit TYPE lvc_s_glay.&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  PERFORM layout_build  USING layout.&lt;/P&gt;&lt;P&gt;  PERFORM fill_list_header USING gi_listheader.&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  gw_event-name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;  gw_event-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND gw_event TO events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_edit-edt_cll_cb = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_callback_pf_status_set          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_grid_title                      = title&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     is_layout                         = layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = it_fldcat&lt;/P&gt;&lt;P&gt;     i_save                            = 'x'&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                         = events&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_final&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;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;ENDFORM.                    "ALV_GRID_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat  USING: 'IT_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                           'MATNR'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                           '10'             "length&lt;/P&gt;&lt;P&gt;                           'MATERIAL'   "Description&lt;/P&gt;&lt;P&gt;                           'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                           ' '             "Database table name&lt;/P&gt;&lt;P&gt;                           ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                           ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                           ' '             "To do total&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '            "Data type&lt;/P&gt;&lt;P&gt;                           ' '            "edit.&lt;/P&gt;&lt;P&gt;                           ' '.          "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING: 'IT_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                           'F_WERKS'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                           '10'             "length&lt;/P&gt;&lt;P&gt;                           'FROM PLANT'   "Description&lt;/P&gt;&lt;P&gt;                           'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                           ' '             "Database table name&lt;/P&gt;&lt;P&gt;                           ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                           ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                           ' '             "To do total&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '             "emphasize&lt;/P&gt;&lt;P&gt;                           ' '            "Data type&lt;/P&gt;&lt;P&gt;                           ' '          "edit.&lt;/P&gt;&lt;P&gt;                           ' '.          "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat  USING: 'IT_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                            'F_LGORT'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                            '10'             "length&lt;/P&gt;&lt;P&gt;                            'LOCATION'   "Description&lt;/P&gt;&lt;P&gt;                            'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                            ' '             "Database table name&lt;/P&gt;&lt;P&gt;                            ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                            ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                            ' '             "To do total&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '            "Data type&lt;/P&gt;&lt;P&gt;                            ' '           "edit.&lt;/P&gt;&lt;P&gt;                            ' '.          "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING: 'IT_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                            'T_WERKS'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                            '10'             "length&lt;/P&gt;&lt;P&gt;                            'TO PLANT'   "Description&lt;/P&gt;&lt;P&gt;                            'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                            ' '             "Database table name&lt;/P&gt;&lt;P&gt;                            ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                            ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                            ' '             "To do total&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '            "Data type&lt;/P&gt;&lt;P&gt;                            ' '           "edit.&lt;/P&gt;&lt;P&gt;                            ' '.          "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat  USING: 'IT_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                          'T_LGORT'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                          '10'             "length&lt;/P&gt;&lt;P&gt;                          'LOCATION'   "Description&lt;/P&gt;&lt;P&gt;                          'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                          ' '             "Database table name&lt;/P&gt;&lt;P&gt;                          ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                          ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                          ' '             "To do total&lt;/P&gt;&lt;P&gt;                          ' '             "emphasize&lt;/P&gt;&lt;P&gt;                          ' '             "emphasize&lt;/P&gt;&lt;P&gt;                          ' '             "emphasize&lt;/P&gt;&lt;P&gt;                          ' '            "Data type&lt;/P&gt;&lt;P&gt;                          ' '            "edit.&lt;/P&gt;&lt;P&gt;                          ' '.            "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING: 'I_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                          'LABST'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                            '10'             "length&lt;/P&gt;&lt;P&gt;                            'QUANTITY'   "Description&lt;/P&gt;&lt;P&gt;                            'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                            ' '             "Database table name&lt;/P&gt;&lt;P&gt;                            ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                            ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                            ' '             "To do total&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '            "Data type&lt;/P&gt;&lt;P&gt;                            ' '            "edit.&lt;/P&gt;&lt;P&gt;                            ' '.           "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING: 'I_FINAL'       "Internal table name&lt;/P&gt;&lt;P&gt;                            'REMARK'         "CREDIT CONTROL AREA&lt;/P&gt;&lt;P&gt;                            '50'             "length&lt;/P&gt;&lt;P&gt;                            'REMARK'   "Description&lt;/P&gt;&lt;P&gt;                            'L'             "Dictionary long text&lt;/P&gt;&lt;P&gt;                            ' '             "Database table name&lt;/P&gt;&lt;P&gt;                            ' '             "Database tab' field name&lt;/P&gt;&lt;P&gt;                            ' '             "Justification R/M/L&lt;/P&gt;&lt;P&gt;                            ' '             "To do total&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '             "emphasize&lt;/P&gt;&lt;P&gt;                            ' '            "Data type&lt;/P&gt;&lt;P&gt;                            ' '            "edit.&lt;/P&gt;&lt;P&gt;                            ' '.           "round&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fieldcat  CHANGING value(p_tname)&lt;/P&gt;&lt;P&gt;                        value(p_fname)&lt;/P&gt;&lt;P&gt;                        value(p_length)&lt;/P&gt;&lt;P&gt;                        value(p_ltext)&lt;/P&gt;&lt;P&gt;                        value(p_typet)&lt;/P&gt;&lt;P&gt;                        value(p_rtab)&lt;/P&gt;&lt;P&gt;                        value(p_rfield)&lt;/P&gt;&lt;P&gt;                        value(p_just)&lt;/P&gt;&lt;P&gt;                        value(p_dosum)&lt;/P&gt;&lt;P&gt;                        value(p_emphasize)&lt;/P&gt;&lt;P&gt;                        value(p_datatype)&lt;/P&gt;&lt;P&gt;                        value(p_no_zero)&lt;/P&gt;&lt;P&gt;                        value(p_hotspot)&lt;/P&gt;&lt;P&gt;                        value(p_edit)&lt;/P&gt;&lt;P&gt;                        value(p_round).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_fldcat-tabname       = p_tname.&lt;/P&gt;&lt;P&gt;  fs_fldcat-fieldname     = p_fname.&lt;/P&gt;&lt;P&gt;  fs_fldcat-outputlen     = p_length.&lt;/P&gt;&lt;P&gt;  fs_fldcat-seltext_l     = p_ltext.&lt;/P&gt;&lt;P&gt;  fs_fldcat-input         = p_typet.&lt;/P&gt;&lt;P&gt;  fs_fldcat-edit          = p_rtab.&lt;/P&gt;&lt;P&gt;  fs_fldcat-ref_fieldname = p_rfield.&lt;/P&gt;&lt;P&gt;  fs_fldcat-just          = p_just.&lt;/P&gt;&lt;P&gt;  fs_fldcat-do_sum        = p_dosum.&lt;/P&gt;&lt;P&gt;  fs_fldcat-emphasize     = p_emphasize.&lt;/P&gt;&lt;P&gt;  fs_fldcat-datatype      = p_datatype.&lt;/P&gt;&lt;P&gt;  fs_fldcat-lzero         =  p_no_zero.&lt;/P&gt;&lt;P&gt;  fs_fldcat-hotspot       = p_hotspot.&lt;/P&gt;&lt;P&gt;  fs_fldcat-edit          = p_edit.&lt;/P&gt;&lt;P&gt;  fs_fldcat-decimals_out = p_round.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND  fs_fldcat TO it_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fieldcat&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  fill_list_header&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FV_I_LISTHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_list_header  USING fv_i_listheader TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: lw_line TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        l_date(10),&lt;/P&gt;&lt;P&gt;        l_time(10).&lt;/P&gt;&lt;P&gt;  DATA : p_date LIKE sy-datum.&lt;/P&gt;&lt;P&gt;  DATA : p_time LIKE sy-uzeit.&lt;/P&gt;&lt;P&gt;  DATA : ztext(17).&lt;/P&gt;&lt;P&gt;  DATA : ztext1(80).&lt;/P&gt;&lt;P&gt;  p_date = sy-datum.&lt;/P&gt;&lt;P&gt;  p_time = sy-uzeit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR fv_i_listheader.&lt;/P&gt;&lt;P&gt;  CONCATENATE p_date&lt;EM&gt;6(2) '.' p_date&lt;/EM&gt;4(2) '.' p_date+0(4) INTO l_date.&lt;/P&gt;&lt;P&gt;  CONCATENATE p_time&lt;EM&gt;0(2) ':' p_time&lt;/EM&gt;2(2) ':' p_time+4(2) INTO l_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF doc_post = 'X'.&lt;/P&gt;&lt;P&gt;    ztext = 'Execute Mode'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    ztext = 'Update Mode'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR lw_line.&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info = sy-repid.&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO fv_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR lw_line.&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info = l_date.&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO fv_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR lw_line.&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info = l_time.&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO fv_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR lw_line.&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info = sy-uname.&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO fv_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR lw_line.&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info =  ztext.&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO fv_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "fill_list_header&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  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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&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 = gi_listheader.&lt;/P&gt;&lt;P&gt;&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  layout_build&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;LAYOUT     text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM layout_build  USING layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; layout-box_fieldname     = 'BOX'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  layout-zebra             = 'X'. " STRIPED PATTERN&lt;/P&gt;&lt;P&gt;  layout-numc_sum          = 'X'. " TOTALS FOR NUMC-FIELDS&lt;/P&gt;&lt;P&gt;  layout-no_keyfix         = ' '. " DO NOT FIX KEYCOLUMNS&lt;/P&gt;&lt;P&gt;  layout-colwidth_optimize = ' ' .&lt;/P&gt;&lt;P&gt;  layout-flexible_key      = ' '. " KEY COLUMNS MOVABLE,...&lt;/P&gt;&lt;P&gt;  layout-detail_popup      = ' '. " SHOW DETAIL IN POPUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "layout_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BAPI_GOODS_MVT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bapi_goods_mvt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: dc_numner TYPE  bapi2017_gm_head_ret-mat_doc,&lt;/P&gt;&lt;P&gt;        dc_year TYPE  bapi2017_gm_head_ret-doc_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: dc_numner, dc_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if doc_post = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gmhead-pstng_date = sy-datum.&lt;/P&gt;&lt;P&gt;    gmhead-doc_date = sy-datum.&lt;/P&gt;&lt;P&gt;    gmhead-pr_uname = sy-uname.&lt;/P&gt;&lt;P&gt;    gmhead-REF_DOC_NO = it_mkpf-xblnr.&lt;/P&gt;&lt;P&gt;    gmcode-gm_code = '04'.   "04 - MB1B - Transfer Posting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_final.&lt;/P&gt;&lt;P&gt;      itab-move_type   = '301'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          input  = it_final-matnr&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          output = itab-material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      itab-plant            = it_final-f_werks .&lt;/P&gt;&lt;P&gt;      itab-stge_loc         = it_final-f_lgort .&lt;/P&gt;&lt;P&gt;      itab-MOVE_PLANT       = it_final-t_werks .&lt;/P&gt;&lt;P&gt;      itab-move_stloc       = it_final-t_lgort .&lt;/P&gt;&lt;P&gt;      itab-entry_qnt        = it_final-labst .&lt;/P&gt;&lt;P&gt;      APPEND itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        goodsmvt_header             = gmhead&lt;/P&gt;&lt;P&gt;        goodsmvt_code               = gmcode&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TESTRUN                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;P&gt;       goodsmvt_headret            = mthead&lt;/P&gt;&lt;P&gt;       materialdocument            = dc_numner&lt;/P&gt;&lt;P&gt;       matdocumentyear             = dc_year&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        goodsmvt_item               = itab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    GOODSMVT_SERIALNUMBER       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        return                      = errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF errmsg[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          wait = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT it_final.&lt;/P&gt;&lt;P&gt;        it_final-remark = dc_numner.&lt;/P&gt;&lt;P&gt;        MODIFY it_final.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear errflag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT errmsg.&lt;/P&gt;&lt;P&gt;      IF errmsg-type EQ 'E'.&lt;/P&gt;&lt;P&gt;        WRITE:/'Error in function', errmsg-message.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     errflag = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WRITE:/ errmsg-message.&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BAPI_GOODS_MVT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Mar 2008 15:50:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/validation-in-alv-report/m-p/3592016#M864886</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-29T15:50:03Z</dc:date>
    </item>
  </channel>
</rss>

