<?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: DATE PROBLEM IN ALV?? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620777#M601845</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;You can use edit mask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA DATE TYPE SY-DATUM. &lt;/P&gt;&lt;P&gt;WRITE (8) DATE USING EDIT MASK '__.__.__'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample one&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*----------------------------------------------*
* Data Dictionary Table/s                      *
*----------------------------------------------*
TABLES: vbak,
        vttp.
 
CLASS lcl_event_receiver DEFINITION DEFERRED.
 
*----------------------------------------------*
* Global Data/s                                *
*----------------------------------------------*
DATA: gt_fieldcat         TYPE lvc_t_fcat,
      ok_code             TYPE syst-ucomm,
      save_ok             TYPE syst-ucomm,
      g_repid             TYPE syst-repid,
      gs_layout           TYPE lvc_s_layo,
      gv_container        TYPE scrfname VALUE 'CUSTOM_CONTROL',
      grid1               TYPE REF TO cl_gui_alv_grid,
      custom_container    TYPE REF TO cl_gui_custom_container,
      grid2               TYPE REF TO cl_gui_alv_grid,
      dialogbox_container TYPE REF TO cl_gui_dialogbox_container,
      event_receiver      TYPE REF TO lcl_event_receiver.
 
*----------------------------------------------*
* Global Structure/s                           *
*----------------------------------------------*
TYPES: BEGIN OF t_output,
        creation_date  TYPE vbak-erdat,
        creation_time  TYPE vbak-erzet,
        sales_doc      TYPE vbak-vbeln,
        cust_code      TYPE vbak-kunnr,
        cust_desc      TYPE kna1-name1,
        ship_to_code   TYPE likp-kunnr,
        ship_to_desc   TYPE kna1-name1,
        po_num         TYPE vbak-bstnk,
        doc_type       TYPE vbak-auart,
        req_dlv_date   TYPE vbak-vdatu,
        so_status(02)  TYPE c,
        created_by     TYPE vbak-ernam,
        del_doc        TYPE likp-vbeln,
        bill_doc       TYPE vbrk-vbeln,
       END OF t_output.
 
TYPES: BEGIN OF t_column,
        fname TYPE lvc_fname,
        level TYPE lvc_level,
       END OF t_column.
 
*----------------------------------------------*
* Global Internal Table/s                      *
*----------------------------------------------*
DATA: gt_output TYPE STANDARD TABLE OF t_output,
      gt_column TYPE STANDARD TABLE OF t_column.
 
*----------------------------------------------*
* Global Work Area/s                           *
*----------------------------------------------*
DATA: wa_output LIKE LINE OF gt_output.
 
*----------------------------------------------*
* SELECTION-SCREEN                             *
*----------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:     p_kunnr TYPE vbak-kunnr OBLIGATORY.
SELECT-OPTIONS: s_vkgrp FOR vbak-vkgrp,
                s_auart FOR vbak-auart,
                s_erdat FOR vbak-erdat  OBLIGATORY,
                s_ernam FOR vbak-ernam.
SELECTION-SCREEN END OF BLOCK b1.
 
 
*/ CLASS DEFINITION/S
 
CLASS lcl_process_data DEFINITION DEFERRED.
 
*----------------------------------------------------------------------*
*       CLASS lcl_get_data DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_get_data DEFINITION.
  PUBLIC SECTION.
    TYPES: BEGIN OF t_vbak,
            vbeln TYPE vbak-vbeln,
            erdat TYPE vbak-erdat,
            erzet TYPE vbak-erzet,
            ernam TYPE vbak-ernam,
            auart TYPE vbak-auart,
            vdatu TYPE vbak-vdatu,
            bstnk TYPE vbak-bstnk,
            kunnr TYPE vbak-kunnr,
           END OF t_vbak.
 
    TYPES: BEGIN OF t_kna1,
            kunnr TYPE kna1-kunnr,
            name1 TYPE kna1-name1,
           END OF t_kna1.
 
    TYPES: BEGIN OF t_delivery,
            vgbel TYPE lips-vgbel,
            vbeln TYPE likp-vbeln,
            kunnr TYPE likp-kunnr,
           END OF t_delivery.
 
    TYPES: BEGIN OF t_billing,
            vbelv   TYPE vbfa-vbelv,
            vbtyp_n TYPE vbfa-vbtyp_n,
            vbeln   TYPE vbfa-vbeln,
           END OF t_billing.
 
    TYPES: BEGIN OF t_status,
            vbeln TYPE vbuk-vbeln,      "Sales and Distribution Document Number
            cmgst TYPE vbuk-cmgst,      "Overall status of credit checks
            lfstk TYPE vbuk-lfstk,      "Delivery status
            kostk TYPE vbuk-kostk,      "Overall picking / putaway status
            fkstk TYPE vbuk-fkstk,      "Billing status
            trsta TYPE vbuk-trsta,      "Transportation planning status
           END OF t_status.
 
    TYPES: BEGIN OF t_status_do,
            vbeln TYPE vbuk-vbeln,      "Delivery Document Number
            kostk TYPE vbuk-kostk,      "Overall picking / putaway status
            fkstk TYPE vbuk-fkstk,      "Billing status
            trsta TYPE vbuk-trsta,      "Transportation planning status
           END OF t_status_do.
 
    METHODS: get_sales_docs    FINAL,
             get_customer_desc FINAL,
             get_ship_to_desc  FINAL,
             get_delivery_docs FINAL,
             get_billing_docs  FINAL,
             get_so_status     FINAL.
 
  PROTECTED SECTION.
    CLASS-DATA: gt_vbak            TYPE STANDARD TABLE OF t_vbak,
                gt_kna1            TYPE HASHED   TABLE OF t_kna1
                                   WITH UNIQUE KEY kunnr,
                gt_kna2            TYPE HASHED   TABLE OF t_kna1
                                   WITH UNIQUE KEY kunnr,
                gt_delivery        TYPE STANDARD TABLE OF t_delivery,
                gt_billing         TYPE STANDARD TABLE OF t_billing,
                gt_status          TYPE STANDARD TABLE OF t_status,
                gt_status_do       TYPE STANDARD TABLE OF t_status_do,
                o_lcl_process_data TYPE REF TO lcl_process_data.
 
  PRIVATE SECTION.
    CLASS-DATA: wa_status LIKE LINE OF gt_status.
ENDCLASS.                    "lcl_get_data DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_process_data DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_process_data DEFINITION INHERITING FROM lcl_get_data.
  PUBLIC SECTION.
    METHODS: combine_data FINAL
               IMPORTING
                 im_sales_tab LIKE gt_vbak
                 im_cust_tab  LIKE gt_kna1
                 im_desc_tab  LIKE gt_kna2     OPTIONAL
                 im_dlv_tab   LIKE gt_delivery OPTIONAL
                 im_bill_tab  LIKE gt_billing  OPTIONAL
               EXPORTING
                 ex_output    LIKE gt_output,
 
             get_status
               IMPORTING
                 im_so        TYPE vbak-vbeln
                 im_do        TYPE likp-vbeln   OPTIONAL
               EXPORTING
                 ex_status    TYPE crmchar2.
 
  PRIVATE SECTION.
    DATA: lv_vbelv    TYPE vbfa-vbelv,
          lv_bill_doc TYPE vbfa-vbeln,
          lv_kunnr    TYPE vbpa-kunnr,
          lv_name1    TYPE kna1-name1,
          lv_parvw    TYPE vbpa-parvw,
          lv_flag1    TYPE flag.
ENDCLASS.                    "lcl_process_data DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_alv_routines DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv_routines DEFINITION INHERITING FROM lcl_process_data.
  PUBLIC SECTION.
    TYPES: BEGIN OF t_status_history,
             cr_hold(50)        TYPE c,
             cr_rel_on(10)      TYPE c,
             cr_rel_at(10)      TYPE c,
             do_created_on(10)  TYPE c,
             do_created_time(8) TYPE c,
             picked_on(10)      TYPE c,
             picked_time(8)     TYPE c,
             inv_created_on(10) TYPE c,
             dispatched_on(10)  TYPE c,
             dispatched_at(10)  TYPE c,
           END OF t_status_history.
 
    TYPES: BEGIN OF t_confirmation,
             podat TYPE likp-podat,
             potim TYPE likp-potim,
           END OF t_confirmation.
 
    CLASS-DATA: wa_fieldcat       LIKE LINE OF gt_fieldcat,
                gt_status_history TYPE STANDARD TABLE OF t_status_history,
                gt_confirmation   TYPE STANDARD TABLE OF t_confirmation,
                wa_status_history LIKE LINE OF gt_status_history,
                wa_confirmation   LIKE LINE OF gt_confirmation,
                wa_column         LIKE LINE OF gt_column,
                gt_domain_val     TYPE STANDARD TABLE OF dd07v,
                wa_domain_val     LIKE LINE OF gt_domain_val.
 
    METHODS: build_fieldcat FINAL,
             popup_routines
               IMPORTING
                 im_column LIKE gt_column
                 im_output LIKE wa_output
               EXPORTING
                 ex_status_history LIKE gt_status_history
                 ex_confirmation   LIKE gt_confirmation,
             get_domain_values FINAL
               IMPORTING
                 value(im_tabname)    TYPE ddobjname
                 value(im_fieldname)  TYPE dfies-fieldname
               EXPORTING
                 value(ex_values_tab) LIKE gt_domain_val.
 
  PRIVATE SECTION.
    CLASS-DATA: lt_dfies_tab TYPE STANDARD TABLE OF dfies,
                wa_dfies_tab LIKE LINE OF lt_dfies_tab.
 
ENDCLASS.                    "lcl_alv_routines DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION INHERITING FROM lcl_alv_routines FINAL.
  PUBLIC SECTION.
    METHODS: handle_double_click
               FOR EVENT double_click OF cl_gui_alv_grid
                 IMPORTING
                   e_row
                   e_column,
 
             handle_close
               FOR EVENT close OF cl_gui_dialogbox_container
                 IMPORTING
                   sender,
 
             handle_hotspot_click
               FOR EVENT hotspot_click OF cl_gui_alv_grid
                 IMPORTING
                   e_row_id
                   e_column_id
                   es_row_no,
 
             create_detail_list
               IMPORTING
                 im_column         LIKE gt_column
                 im_status         LIKE gt_status_history
                 im_confirmation   LIKE gt_confirmation.
 
  PRIVATE SECTION.
    CLASS-DATA: o_lcl_alv_routines TYPE REF TO lcl_alv_routines.
ENDCLASS.                    "lcl_event_receiver DEFINITION
 
 
*/ CLASS IMPLEMENTATION/S
*----------------------------------------------------------------------*
*       CLASS lcl_get_data IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_get_data IMPLEMENTATION.
* METHOD get_sales_docs
  METHOD get_sales_docs.
    SELECT vbeln erdat erzet ernam auart vdatu bstnk kunnr
      FROM vbak
      INTO TABLE gt_vbak
     WHERE erdat IN s_erdat
       AND ernam IN s_ernam
       AND auart IN s_auart
       AND vkgrp IN s_vkgrp
       AND kunnr =  p_kunnr.
 
    IF NOT gt_vbak[] IS INITIAL.
      CALL METHOD: me-&amp;gt;get_customer_desc,
                       get_delivery_docs,
                       get_so_status,
                       get_billing_docs.
 
      CREATE OBJECT o_lcl_process_data.
      CALL METHOD o_lcl_process_data-&amp;gt;combine_data
        EXPORTING
          im_sales_tab = gt_vbak
          im_cust_tab  = gt_kna1
          im_desc_tab  = gt_kna2
          im_dlv_tab   = gt_delivery
          im_bill_tab  = gt_billing
        IMPORTING
          ex_output    = gt_output.
    ELSE.
      MESSAGE i000 WITH text-032.
      LEAVE LIST-PROCESSING.
    ENDIF.
  ENDMETHOD.                    "get_sales_docs
 
* METHOD get_customer_desc
  METHOD get_customer_desc.
    SELECT kunnr name1
      FROM kna1
      INTO TABLE gt_kna1
       FOR ALL ENTRIES IN gt_vbak
     WHERE kunnr = gt_vbak-kunnr.
  ENDMETHOD.                    "get_customer_desc
 
* METHOD get_ship_to_desc
  METHOD get_ship_to_desc.
    SELECT kunnr name1
      FROM kna1
      INTO TABLE gt_kna2
       FOR ALL ENTRIES IN gt_delivery
     WHERE kunnr = gt_delivery-kunnr.
  ENDMETHOD.                    "get_ship_to_desc
 
* METHOD get_delivery_docs
  METHOD get_delivery_docs.
    SELECT lips~vgbel likp~vbeln likp~kunnr
      FROM likp
     INNER JOIN lips
        ON likp~vbeln = lips~vbeln
      INTO TABLE gt_delivery
       FOR ALL ENTRIES IN gt_vbak
     WHERE lips~vgbel = gt_vbak-vbeln.
 
    IF NOT gt_delivery[] IS INITIAL.
      SORT gt_delivery ASCENDING BY: vgbel vbeln kunnr.
      DELETE ADJACENT DUPLICATES FROM gt_delivery COMPARING vgbel vbeln kunnr.
 
*     Get ship-to description
      CALL METHOD me-&amp;gt;get_ship_to_desc.
 
*     Get status of delivery documents
      SELECT vbeln kostk fkstk trsta
        FROM vbuk
        INTO TABLE gt_status_do
         FOR ALL ENTRIES IN gt_delivery
       WHERE vbeln = gt_delivery-vbeln.
    ENDIF.
  ENDMETHOD.                    "get_delivery_docs
 
* METHOD get_billing_docs
  METHOD get_billing_docs.
    SELECT vbelv vbtyp_n vbeln
      FROM vbfa
      INTO TABLE gt_billing
       FOR ALL ENTRIES IN gt_delivery
     WHERE vbelv   = gt_delivery-vbeln
       AND vbtyp_n = 'M'.
 
    SORT gt_billing ASCENDING BY: vbelv vbtyp_n vbeln.
    DELETE ADJACENT DUPLICATES FROM gt_billing COMPARING vbelv vbtyp_n vbeln.
  ENDMETHOD.                    "get_billing_docs
 
* METHOD get_so_status
  METHOD get_so_status.
    DATA: lv_curr_so TYPE vbak-vbeln,
          lv_lines   TYPE i.
 
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt;    LIKE LINE OF gt_status,
                   &amp;lt;fs_delivery&amp;gt;  LIKE LINE OF gt_delivery,
                   &amp;lt;fs_status_do&amp;gt; LIKE LINE OF gt_status_do.
 
    SELECT vbeln cmgst lfstk
      FROM vbuk
      INTO CORRESPONDING FIELDS OF TABLE gt_status
       FOR ALL ENTRIES IN gt_vbak
     WHERE vbeln = gt_vbak-vbeln.
 
    SORT gt_status_do BY vbeln ASCENDING.
    DESCRIBE TABLE gt_status LINES lv_lines.
    LOOP AT gt_status ASSIGNING &amp;lt;fs_status&amp;gt;.
      IF sy-tabix &amp;gt; lv_lines.
        EXIT.
      ENDIF.
      LOOP AT gt_delivery ASSIGNING &amp;lt;fs_delivery&amp;gt; WHERE vgbel = &amp;lt;fs_status&amp;gt;-vbeln.
        IF lv_curr_so = &amp;lt;fs_delivery&amp;gt;-vgbel.
          wa_status-vbeln = &amp;lt;fs_status&amp;gt;-vbeln.
          wa_status-cmgst = &amp;lt;fs_status&amp;gt;-cmgst.
          wa_status-lfstk = &amp;lt;fs_status&amp;gt;-lfstk.
          READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = &amp;lt;fs_delivery&amp;gt;-vbeln
                                                                            BINARY SEARCH.
          IF sy-subrc = 0.
            wa_status-kostk = &amp;lt;fs_status_do&amp;gt;-kostk.
            wa_status-fkstk = &amp;lt;fs_status_do&amp;gt;-fkstk.
            wa_status-trsta = &amp;lt;fs_status_do&amp;gt;-trsta.
          ENDIF.
          APPEND wa_status TO gt_status.
          CLEAR wa_status.
        ELSE.
          READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = &amp;lt;fs_delivery&amp;gt;-vbeln
                                                                            BINARY SEARCH.
          &amp;lt;fs_status&amp;gt;-kostk = &amp;lt;fs_status_do&amp;gt;-kostk.
          &amp;lt;fs_status&amp;gt;-fkstk = &amp;lt;fs_status_do&amp;gt;-fkstk.
          &amp;lt;fs_status&amp;gt;-trsta = &amp;lt;fs_status_do&amp;gt;-trsta.
        ENDIF.
        lv_curr_so = &amp;lt;fs_delivery&amp;gt;-vgbel.
      ENDLOOP.
    ENDLOOP.
  ENDMETHOD.                    "get_do_status
ENDCLASS.                    "lcl_get_data IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_process_data IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_process_data IMPLEMENTATION.
* METHOD combine_data
  METHOD combine_data.
    FIELD-SYMBOLS: &amp;lt;fs_sales_tab&amp;gt; LIKE LINE OF im_sales_tab,
                   &amp;lt;fs_cust_tab&amp;gt;  LIKE LINE OF im_cust_tab,
                   &amp;lt;fs_desc_tab&amp;gt;  LIKE LINE OF im_desc_tab,
                   &amp;lt;fs_dlv_tab&amp;gt;   LIKE LINE OF im_dlv_tab,
                   &amp;lt;fs_bill_tab&amp;gt;  LIKE LINE OF im_bill_tab.
 
    SORT gt_status BY vbeln ASCENDING.
    LOOP AT im_sales_tab ASSIGNING &amp;lt;fs_sales_tab&amp;gt;.
      CLEAR: lv_flag1, wa_output,lv_vbelv,
             lv_bill_doc, lv_kunnr,
             lv_name1, lv_parvw.
 
      wa_output-creation_date = &amp;lt;fs_sales_tab&amp;gt;-erdat.  "SO creation date
      wa_output-creation_time = &amp;lt;fs_sales_tab&amp;gt;-erzet.  "SO creation time
      wa_output-sales_doc     = &amp;lt;fs_sales_tab&amp;gt;-vbeln.  "Sales document
      wa_output-cust_code     = &amp;lt;fs_sales_tab&amp;gt;-kunnr.  "SO customer code
 
*     Customer description
      READ TABLE im_cust_tab ASSIGNING &amp;lt;fs_cust_tab&amp;gt; WITH KEY kunnr = &amp;lt;fs_sales_tab&amp;gt;-kunnr.
      IF sy-subrc = 0.
        MOVE &amp;lt;fs_cust_tab&amp;gt;-name1 TO: wa_output-cust_desc.    "SO customer description
      ENDIF.
 
      wa_output-po_num       = &amp;lt;fs_sales_tab&amp;gt;-bstnk.   "PO number
      wa_output-doc_type     = &amp;lt;fs_sales_tab&amp;gt;-auart.   "SO document type
      wa_output-req_dlv_date = &amp;lt;fs_sales_tab&amp;gt;-vdatu.   "SO req. delivery date
      wa_output-created_by   = &amp;lt;fs_sales_tab&amp;gt;-ernam.   "SO created by
 
      READ TABLE im_dlv_tab ASSIGNING &amp;lt;fs_dlv_tab&amp;gt; WITH KEY vgbel = &amp;lt;fs_sales_tab&amp;gt;-vbeln.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
          EXPORTING
            input  = 'SH'
          IMPORTING
            output = lv_parvw.
*/Get ship-to party and description based from sales document
* if delivery document is non-existent
        SELECT SINGLE kunnr
          FROM vbpa
          INTO lv_kunnr
         WHERE vbeln = &amp;lt;fs_sales_tab&amp;gt;-vbeln
           AND parvw = lv_parvw.             "Ship-to party
 
        IF sy-subrc = 0.
          SELECT SINGLE name1
            FROM kna1
            INTO lv_name1
           WHERE kunnr = lv_kunnr.
 
          IF sy-subrc = 0.
            wa_output-ship_to_code = lv_kunnr.
            wa_output-ship_to_desc = lv_name1.
          ENDIF.
        ENDIF.
*       Sales order status
        CALL METHOD me-&amp;gt;get_status
          EXPORTING
            im_so     = wa_output-sales_doc
          IMPORTING
            ex_status = wa_output-so_status.
 
        APPEND wa_output TO ex_output.
        CLEAR wa_output.
        CONTINUE.
      ENDIF.
 
*     Ship-to code/party and delivery document
      LOOP AT im_dlv_tab ASSIGNING &amp;lt;fs_dlv_tab&amp;gt; WHERE vgbel = &amp;lt;fs_sales_tab&amp;gt;-vbeln.
        CLEAR: lv_flag1.
        wa_output-ship_to_code = &amp;lt;fs_dlv_tab&amp;gt;-kunnr.   "Ship-to code
        wa_output-del_doc      = &amp;lt;fs_dlv_tab&amp;gt;-vbeln.   "Delivery document
 
*       Ship-to description
        READ TABLE im_desc_tab ASSIGNING &amp;lt;fs_desc_tab&amp;gt; WITH KEY kunnr = &amp;lt;fs_dlv_tab&amp;gt;-kunnr.
        IF sy-subrc = 0.
          wa_output-ship_to_desc = &amp;lt;fs_desc_tab&amp;gt;-name1.
        ENDIF.
 
*       Sales order and delivery order status
        CALL METHOD me-&amp;gt;get_status
          EXPORTING
            im_so     = wa_output-sales_doc
            im_do     = wa_output-del_doc
          IMPORTING
            ex_status = wa_output-so_status.
 
*       Billing document
        LOOP AT im_bill_tab ASSIGNING &amp;lt;fs_bill_tab&amp;gt; WHERE vbelv   = &amp;lt;fs_dlv_tab&amp;gt;-vbeln
                                                      AND vbtyp_n =  'M'.
          CLEAR lv_flag1.
          IF lv_vbelv    = &amp;lt;fs_bill_tab&amp;gt;-vbelv AND
             lv_bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.
            CONTINUE.
          ENDIF.
          lv_vbelv    = &amp;lt;fs_bill_tab&amp;gt;-vbelv.
          lv_bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.
 
          wa_output-bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.    "Billing document
          MOVE 'X' TO lv_flag1.
          APPEND wa_output TO ex_output.
          CLEAR: wa_output-ship_to_code, wa_output-del_doc,
                 wa_output-so_status, wa_output-bill_doc.
          EXIT.
        ENDLOOP.
 
        IF lv_flag1 = 'X'.
          CONTINUE.
        ELSE.
          APPEND wa_output TO ex_output.
          CLEAR: wa_output-ship_to_code, wa_output-del_doc,
                 wa_output-ship_to_desc, wa_output-so_status.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
 
    SORT ex_output BY sales_doc.
  ENDMETHOD.                    "combine_data
 
* METHOD get_status
  METHOD get_status.
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt;    LIKE LINE OF gt_status,
                   &amp;lt;fs_status_do&amp;gt; LIKE LINE OF gt_status_do.
 
*/Check the current stage of a given sales order in descending order
* starting with the shipment status
 
    READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = im_do
                                                                      BINARY SEARCH.
    IF sy-subrc = 0.
*     Shipment/dispatch status
      IF &amp;lt;fs_status_do&amp;gt;-trsta = 'B' OR
         &amp;lt;fs_status_do&amp;gt;-trsta = 'C'.
        ex_status = 'SH'.
*     Invoice status
      ELSEIF &amp;lt;fs_status_do&amp;gt;-fkstk = 'B' OR
             &amp;lt;fs_status_do&amp;gt;-fkstk = 'C'.
        ex_status = 'IN'.
*     Picking status
      ELSEIF &amp;lt;fs_status_do&amp;gt;-kostk = 'B' OR
             &amp;lt;fs_status_do&amp;gt;-kostk = 'C'.
        ex_status = 'PS'.
      ENDIF.
    ENDIF.
 
    IF ex_status IS INITIAL.
      READ TABLE gt_status ASSIGNING &amp;lt;fs_status&amp;gt; WITH KEY vbeln = im_so
                                                                  BINARY SEARCH.
      IF sy-subrc = 0.
*       Delivery order status
        IF &amp;lt;fs_status&amp;gt;-lfstk = 'B' OR
           &amp;lt;fs_status&amp;gt;-lfstk = 'C'.
          ex_status = 'DO'.
*       Credit released
        ELSEIF &amp;lt;fs_status&amp;gt;-cmgst = 'A' OR
               &amp;lt;fs_status&amp;gt;-cmgst = 'D'.
          ex_status = 'CR'.
*       Credit hold
        ELSEIF &amp;lt;fs_status&amp;gt;-cmgst = 'B' OR
               &amp;lt;fs_status&amp;gt;-cmgst = 'C'.
          ex_status = 'CH'.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "get_status
ENDCLASS.                    "lcl_process_data IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_alv_routines IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv_routines IMPLEMENTATION.
* METHOD build_fieldcat
  METHOD build_fieldcat.
    REFRESH: gt_fieldcat.
    CLEAR wa_fieldcat.
 
    DEFINE m_fieldcat.
      add 1 to wa_fieldcat-col_pos.
      wa_fieldcat-fieldname   = &amp;amp;1.
      wa_fieldcat-tabname     = &amp;amp;2.
      wa_fieldcat-coltext     = &amp;amp;3.
      wa_fieldcat-outputlen   = &amp;amp;4.
      wa_fieldcat-fix_column  = &amp;amp;5.
      wa_fieldcat-just        = &amp;amp;6.
      wa_fieldcat-do_sum      = &amp;amp;7.
      wa_fieldcat-emphasize   = &amp;amp;8.
      wa_fieldcat-hotspot     = &amp;amp;9.
      append wa_fieldcat to gt_fieldcat.
    END-OF-DEFINITION.
 
    IF wa_column-fname = 'SO_STATUS'.
      m_fieldcat 'CR_HOLD'         'GT_STATUS_HISTORY'  text-002  '50' 'X' '' '' '' ''.
      m_fieldcat 'CR_REL_ON'       'GT_STATUS_HISTORY'  text-003  '18' 'X' '' '' '' ''.
      m_fieldcat 'CR_REL_AT'       'GT_STATUS_HISTORY'  text-004  '18' 'X' '' '' '' ''.
      m_fieldcat 'DO_CREATED_ON'   'GT_STATUS_HISTORY'  text-005  '13' 'X' '' '' '' ''.
      m_fieldcat 'DO_CREATED_TIME' 'GT_STATUS_HISTORY'  text-030  '15' 'X' '' '' '' ''.
      m_fieldcat 'PICKED_ON'       'GT_STATUS_HISTORY'  text-006  '12' 'X' '' '' '' ''.
      m_fieldcat 'PICKED_TIME'     'GT_STATUS_HISTORY'  text-031  '12' 'X' '' '' '' ''.
      m_fieldcat 'INV_CREATED_ON'  'GT_STATUS_HISTORY'  text-007  '15' 'X' '' '' '' ''.
      m_fieldcat 'DISPATCHED_ON'   'GT_STATUS_HISTORY'  text-008  '13' 'X' '' '' '' ''.
      m_fieldcat 'DISPATCHED_AT'   'GT_STATUS_HISTORY'  text-009  '13' 'X' '' '' '' ''.
    ELSEIF wa_column-fname = 'BILL_DOC'.
      m_fieldcat 'PODAT'          'GT_CONFIRMATION'    text-010  '17' 'X' '' '' '' ''.
      m_fieldcat 'POTIM'          'GT_CONFIRMATION'    text-011  '17' 'X' '' '' '' ''.
    ELSE.
      m_fieldcat 'CREATION_DATE' 'GT_OUTPUT' text-012 '10' 'X' '' '' '' ''.
      m_fieldcat 'CREATION_TIME' 'GT_OUTPUT' text-013 '10' 'X' '' '' '' ''.
      m_fieldcat 'SALES_DOC'     'GT_OUTPUT' text-014 '10' 'X' '' '' 'X' 'X'.
      m_fieldcat 'CUST_CODE'     'GT_OUTPUT' text-015 '16' 'X' '' '' '' ''.
      m_fieldcat 'CUST_DESC'     'GT_OUTPUT' text-016 '40' 'X' '' '' '' ''.
      m_fieldcat 'SHIP_TO_CODE'  'GT_OUTPUT' text-017 '15' 'X' '' '' '' ''.
      m_fieldcat 'SHIP_TO_DESC'  'GT_OUTPUT' text-018 '40' 'X' '' '' '' ''.
      m_fieldcat 'PO_NUM'        'GT_OUTPUT' text-019 '24' 'X' '' '' '' ''.
      m_fieldcat 'DOC_TYPE'      'GT_OUTPUT' text-020 '16' 'X' '' '' '' ''.
      m_fieldcat 'REQ_DLV_DATE'  'GT_OUTPUT' text-021 '21' 'X' '' '' '' ''.
      m_fieldcat 'SO_STATUS'     'GT_OUTPUT' text-022 '09' 'X' '' '' 'C400' ''.
      m_fieldcat 'CREATED_BY'    'GT_OUTPUT' text-023 '13' 'X' '' '' '' ''.
      m_fieldcat 'DEL_DOC'       'GT_OUTPUT' text-024 '18' 'X' '' '' '' ''.
      m_fieldcat 'BILL_DOC'      'GT_OUTPUT' text-025 '11' 'X' '' '' 'C600' ''.
    ENDIF.
  ENDMETHOD.                    "build_fieldcat
 
* METHOD popup_routines
  METHOD popup_routines.
    READ TABLE im_column INDEX 1 INTO wa_column.
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt; LIKE LINE OF gt_status.
    DATA: lv_datum TYPE syst-datum,
          lv_uzeit TYPE syst-uzeit.
 
    CLEAR: wa_status_history, lv_datum, lv_uzeit.
    REFRESH gt_status_history.
 
*/Popup routine if user clicked on the SO status
    IF wa_column-fname = 'SO_STATUS'.
      CALL METHOD me-&amp;gt;get_domain_values
        EXPORTING
          im_tabname    = 'VBUK'
          im_fieldname  = 'CMGST'
        IMPORTING
          ex_values_tab = gt_domain_val.
 
*     Credit hold
      READ TABLE gt_status ASSIGNING &amp;lt;fs_status&amp;gt; WITH KEY vbeln = im_output-sales_doc.
      IF sy-subrc = 0.
        wa_status_history-cr_hold = &amp;lt;fs_status&amp;gt;-cmgst.
      ENDIF.
 
      READ TABLE gt_domain_val INTO wa_domain_val WITH
                                KEY domvalue_l = wa_status_history-cr_hold
                                TRANSPORTING ddtext.
      IF sy-subrc = 0.
        wa_status_history-cr_hold = wa_domain_val-ddtext.
      ENDIF.
 
*     Credit released date and time
      SELECT SINGLE udate utime
        FROM cdhdr
        INTO (lv_datum, lv_uzeit)
       WHERE objectid = im_output-sales_doc
         AND tcode    = 'VKM3'.
 
      IF sy-subrc = 0.
        WRITE lv_datum TO wa_status_history-cr_rel_on
        USING EDIT MASK '__.__.____'.
        CLEAR lv_datum.
 
        WRITE lv_uzeit TO wa_status_history-cr_rel_at
        USING EDIT MASK '__:__:__'.
        CLEAR lv_uzeit.
      ENDIF.
 
*     DO creation date and time
      IF NOT im_output-del_doc IS INITIAL.
        SELECT SINGLE erdat erzet
          FROM likp
          INTO (lv_datum, lv_uzeit)
         WHERE vbeln = im_output-del_doc.
 
        IF sy-subrc = 0.
          WRITE lv_datum TO wa_status_history-do_created_on
          USING EDIT MASK '__.__.____'.
          CLEAR lv_datum.
 
          WRITE lv_uzeit TO wa_status_history-do_created_time
          USING EDIT MASK '__:__:__'.
          CLEAR lv_uzeit.
        ENDIF.
 
*       Picking date and time
        SELECT SINGLE bdatu bzeit
          FROM ltak
          INTO (lv_datum, lv_uzeit)
         WHERE vbeln = im_output-del_doc.
 
        IF sy-subrc = 0.
          WRITE lv_datum TO wa_status_history-picked_on
          USING EDIT MASK '__.__.____'.
          CLEAR lv_datum.
 
          WRITE lv_uzeit TO wa_status_history-picked_time
          USING EDIT MASK '__:__:__'.
          CLEAR lv_uzeit.
        ENDIF.
      ENDIF.
 
*     Invoice created on
      SELECT SINGLE erdat
        FROM vbrk
        INTO lv_datum
       WHERE vbeln = im_output-bill_doc.
 
      WRITE lv_datum TO wa_status_history-inv_created_on
      USING EDIT MASK '__.__.____'.
      CLEAR lv_datum.
 
*     Dispatched on and dispatched at
      SELECT SINGLE tknum
        FROM vttp
        INTO vttp-tknum
       WHERE vbeln = im_output-del_doc.
 
      IF sy-subrc = 0.
        SELECT SINGLE dtabf uzabf
          FROM vttk
          INTO (lv_datum, lv_uzeit)
         WHERE tknum = vttp-tknum.
 
        WRITE lv_datum TO wa_status_history-dispatched_on
        USING EDIT MASK '__.__.____'.
        CLEAR lv_datum.
 
        WRITE lv_uzeit TO wa_status_history-dispatched_at
        USING EDIT MASK '__:__:__'.
        CLEAR lv_uzeit.
      ENDIF.
 
      APPEND wa_status_history TO gt_status_history.
      ex_status_history[] = gt_status_history[].
      CLEAR wa_status_history.
*/Popup routine if the user clicked on the billing document
    ELSEIF wa_column-fname = 'BILL_DOC'.
      IF NOT im_output-del_doc IS INITIAL.
        SELECT SINGLE podat potim
          FROM likp
          INTO (wa_confirmation-podat, wa_confirmation-potim)
         WHERE vbeln = im_output-del_doc.
 
        APPEND wa_confirmation TO gt_confirmation.
        ex_confirmation[] = gt_confirmation[].
        CLEAR wa_confirmation.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "popup_routines
 
* METHOD get_domain_values
  METHOD   get_domain_values.
    CALL FUNCTION 'DDIF_FIELDINFO_GET'
      EXPORTING
        tabname              = im_tabname
        fieldname            = im_fieldname
        langu                = sy-langu
*       LFIELDNAME           = ' '
*       ALL_TYPES            = ' '
*       GROUP_NAMES          = ' '
*       UCLEN                =
*     IMPORTING
*       X030L_WA             =
*       DDOBJTYPE            =
*       DFIES_WA             =
*       LINES_DESCR          =
      TABLES
        dfies_tab            = lt_dfies_tab
*       FIXED_VALUES         =
*     EXCEPTIONS
*       NOT_FOUND            = 1
*       INTERNAL_ERROR       = 2
*       OTHERS               = 3
              .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
 
    READ TABLE lt_dfies_tab INDEX 1 INTO wa_dfies_tab
                                    TRANSPORTING domname.
 
    CALL FUNCTION 'GET_DOMAIN_VALUES'
       EXPORTING
         domname               = wa_dfies_tab-domname
*       TEXT                  = 'X'
*       FILL_DD07L_TAB        = ' '
       TABLES
         values_tab            = ex_values_tab
*       VALUES_DD07L          =
*     EXCEPTIONS
*       NO_VALUES_FOUND       = 1
*       OTHERS                = 2
               .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ENDMETHOD.                    "get_domain_values
ENDCLASS.                    "lcl_alv_routines IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
* METHOD handle_double_click
  METHOD handle_double_click.
    IF e_column = 'SO_STATUS' OR
       e_column = 'BILL_DOC'.
 
      CREATE OBJECT: o_lcl_alv_routines.
      CLEAR: wa_output.
      REFRESH: gt_fieldcat,
               gt_column,
               gt_status_history,
               gt_confirmation.
 
      MOVE: e_column-fieldname TO wa_column-fname,
            e_column-hierlevel TO wa_column-level.
 
      APPEND wa_column TO gt_column.
 
*     Get record based on what the user clicked
      READ TABLE gt_output INDEX e_row-index INTO wa_output.
 
*     Build fieldcatalog depending on what the user clicked
      CALL METHOD o_lcl_alv_routines-&amp;gt;build_fieldcat.
 
*     Call popup routine/s
      CALL METHOD o_lcl_alv_routines-&amp;gt;popup_routines
        EXPORTING
          im_column         = gt_column
          im_output         = wa_output
        IMPORTING
          ex_status_history = gt_status_history
          ex_confirmation   = gt_confirmation.
 
      CALL METHOD me-&amp;gt;create_detail_list
        EXPORTING
          im_column       = gt_column
          im_status       = gt_status_history
          im_confirmation = gt_confirmation.
    ENDIF.
  ENDMETHOD.                    "handle_double_click
 
* METHOD handle_close
  METHOD handle_close.
    CALL METHOD sender-&amp;gt;set_visible
      EXPORTING
        visible = space.
  ENDMETHOD.                    "handle_close
 
* METHOD handle_hotspot_click
  METHOD handle_hotspot_click.
    READ TABLE gt_output INDEX e_row_id INTO wa_output.
    IF NOT wa_output-sales_doc IS INITIAL
       AND e_column_id = 'SALES_DOC'.
      SET PARAMETER ID 'AUN' FIELD wa_output-sales_doc.
      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    ENDIF.
 
  ENDMETHOD.                    "handle_hotspot_click
 
* METHOD create_detail_list
  METHOD create_detail_list.
    DATA: lv_caption(200) TYPE c.
    CLEAR wa_column.
 
*   Create popup window
    CREATE OBJECT dialogbox_container
        EXPORTING
          top = 100
          left = 150
          lifetime = cntl_lifetime_dynpro
          caption = lv_caption
          width = 800
          height = 200.
    CREATE OBJECT grid2
        EXPORTING i_parent = dialogbox_container.
 
*   Trigger event when user closes the popup window
    SET HANDLER event_receiver-&amp;gt;handle_close FOR dialogbox_container.
 
    READ TABLE im_column INDEX 1 INTO wa_column.
 
*   Display popup window
    IF wa_column-fname = 'SO_STATUS'.
      gs_layout-grid_title = text-026.
      CALL METHOD grid2-&amp;gt;set_table_for_first_display
       EXPORTING
*        i_structure_name = 'T_OUTPUT'
         is_layout        = gs_layout
       CHANGING
         it_outtab        = gt_status_history
         it_fieldcatalog  = gt_fieldcat.
    ELSEIF wa_column-fname = 'BILL_DOC'.
      gs_layout-grid_title = text-027.
      CALL METHOD grid2-&amp;gt;set_table_for_first_display
       EXPORTING
*        i_structure_name = 'T_OUTPUT'
         is_layout        = gs_layout
       CHANGING
         it_outtab        = gt_confirmation
         it_fieldcatalog  = gt_fieldcat.
    ENDIF.
    CALL METHOD cl_gui_control=&amp;gt;set_focus
      EXPORTING
        control = grid2.
  ENDMETHOD.                    "create_detail_list
 
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
 
*----------------------------------------------*
* START-OF-SELECTION                           *
*----------------------------------------------*
START-OF-SELECTION.
  DATA: o_lcl_get_data TYPE REF TO lcl_get_data.
 
  CREATE OBJECT o_lcl_get_data.
  CALL METHOD o_lcl_get_data-&amp;gt;get_sales_docs.
 
*----------------------------------------------*
* END-OF-SELECTION                             *
*----------------------------------------------*
END-OF-SELECTION.
  CALL SCREEN 100.
 
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS '100'.
  SET TITLEBAR  'TITLE100'.
 
  DATA: o_lcl_alv_routines TYPE REF TO lcl_alv_routines,
        gv_text            TYPE string,
        gv_name1           TYPE kna1-name1,
        gv_date_low(10)    TYPE c,
        gv_date_high(10)   TYPE c.
 
  CREATE OBJECT o_lcl_alv_routines.
 
  g_repid = sy-repid.
  IF custom_container IS INITIAL.
    CREATE OBJECT custom_container
      EXPORTING
        container_name = gv_container
      EXCEPTIONS
        cntl_error = 1
        cntl_system_error = 2
        create_error = 3
        lifetime_error = 4
        lifetime_dynpro_dynpro_link = 5.
 
    IF sy-subrc NE 0.
      CALL FUNCTION 'POPUP_TO_INFORM'
        EXPORTING
          titel = g_repid
          txt2  = sy-subrc
          txt1  = text-028.
    ENDIF.
 
    CREATE OBJECT grid1
      EXPORTING
        i_parent = custom_container.
 
*   Build fieldcatalog for initial display
    CALL METHOD o_lcl_alv_routines-&amp;gt;build_fieldcat.
 
    SELECT SINGLE name1
      FROM kna1
      INTO gv_name1
     WHERE kunnr = p_kunnr.
 
    WRITE: s_erdat-low  TO gv_date_low  USING EDIT MASK '__.__.____',
           s_erdat-high TO gv_date_high USING EDIT MASK '__.__.____'.
 
    CONCATENATE: gv_name1 'from:' gv_date_low '-' gv_date_high
           INTO gv_text
      SEPARATED BY space.
 
    gs_layout-grid_title = gv_text.
 
*   Display initial window
    CALL METHOD grid1-&amp;gt;set_table_for_first_display
      EXPORTING
*        i_structure_name = ''
        is_layout        = gs_layout
      CHANGING
        it_outtab        = gt_output
        it_fieldcatalog  = gt_fieldcat.
 
    CREATE OBJECT event_receiver.
 
*   Trigger event when user double clicks initial window
    SET HANDLER event_receiver-&amp;gt;handle_double_click FOR grid1.
 
*   Trigger event when user clicks hotspot field
    SET HANDLER event_receiver-&amp;gt;handle_hotspot_click FOR grid1.
 
  ENDIF.
 
  CALL METHOD cl_gui_control=&amp;gt;set_focus
    EXPORTING
      control = grid1.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  CASE save_ok.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
      CALL METHOD custom_container-&amp;gt;free.
      CALL METHOD cl_gui_cfw=&amp;gt;flush.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        CALL FUNCTION 'POPUP_TO_INFORM'
          EXPORTING
            titel = g_repid
            txt2  = sy-subrc
            txt1  = text-029.
      ENDIF.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfulla nswers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Aug 2007 11:23:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-08T11:23:49Z</dc:date>
    <item>
      <title>DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620774#M601842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ALL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Im using ALV function modules,&lt;/P&gt;&lt;P&gt;i have to display the date in '18.01.2007' format,,,,,but its showing '18012007'&lt;/P&gt;&lt;P&gt;how to do that?? in alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;urgent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;jack&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:09:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620774#M601842</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:09:02Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620775#M601843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use WRITE TO  .............. EDIT MASK to change the date format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:11:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620775#M601843</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:11:13Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620776#M601844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jack,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use this statement&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
date = 18012007
date1 like sy-datum.
write : date using edit mask '__.__.____' 
        to date1,                

Output : 18.01.2007
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vikranth&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Khimavath Vikranth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:11:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620776#M601844</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:11:31Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620777#M601845</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;You can use edit mask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA DATE TYPE SY-DATUM. &lt;/P&gt;&lt;P&gt;WRITE (8) DATE USING EDIT MASK '__.__.__'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample one&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*----------------------------------------------*
* Data Dictionary Table/s                      *
*----------------------------------------------*
TABLES: vbak,
        vttp.
 
CLASS lcl_event_receiver DEFINITION DEFERRED.
 
*----------------------------------------------*
* Global Data/s                                *
*----------------------------------------------*
DATA: gt_fieldcat         TYPE lvc_t_fcat,
      ok_code             TYPE syst-ucomm,
      save_ok             TYPE syst-ucomm,
      g_repid             TYPE syst-repid,
      gs_layout           TYPE lvc_s_layo,
      gv_container        TYPE scrfname VALUE 'CUSTOM_CONTROL',
      grid1               TYPE REF TO cl_gui_alv_grid,
      custom_container    TYPE REF TO cl_gui_custom_container,
      grid2               TYPE REF TO cl_gui_alv_grid,
      dialogbox_container TYPE REF TO cl_gui_dialogbox_container,
      event_receiver      TYPE REF TO lcl_event_receiver.
 
*----------------------------------------------*
* Global Structure/s                           *
*----------------------------------------------*
TYPES: BEGIN OF t_output,
        creation_date  TYPE vbak-erdat,
        creation_time  TYPE vbak-erzet,
        sales_doc      TYPE vbak-vbeln,
        cust_code      TYPE vbak-kunnr,
        cust_desc      TYPE kna1-name1,
        ship_to_code   TYPE likp-kunnr,
        ship_to_desc   TYPE kna1-name1,
        po_num         TYPE vbak-bstnk,
        doc_type       TYPE vbak-auart,
        req_dlv_date   TYPE vbak-vdatu,
        so_status(02)  TYPE c,
        created_by     TYPE vbak-ernam,
        del_doc        TYPE likp-vbeln,
        bill_doc       TYPE vbrk-vbeln,
       END OF t_output.
 
TYPES: BEGIN OF t_column,
        fname TYPE lvc_fname,
        level TYPE lvc_level,
       END OF t_column.
 
*----------------------------------------------*
* Global Internal Table/s                      *
*----------------------------------------------*
DATA: gt_output TYPE STANDARD TABLE OF t_output,
      gt_column TYPE STANDARD TABLE OF t_column.
 
*----------------------------------------------*
* Global Work Area/s                           *
*----------------------------------------------*
DATA: wa_output LIKE LINE OF gt_output.
 
*----------------------------------------------*
* SELECTION-SCREEN                             *
*----------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:     p_kunnr TYPE vbak-kunnr OBLIGATORY.
SELECT-OPTIONS: s_vkgrp FOR vbak-vkgrp,
                s_auart FOR vbak-auart,
                s_erdat FOR vbak-erdat  OBLIGATORY,
                s_ernam FOR vbak-ernam.
SELECTION-SCREEN END OF BLOCK b1.
 
 
*/ CLASS DEFINITION/S
 
CLASS lcl_process_data DEFINITION DEFERRED.
 
*----------------------------------------------------------------------*
*       CLASS lcl_get_data DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_get_data DEFINITION.
  PUBLIC SECTION.
    TYPES: BEGIN OF t_vbak,
            vbeln TYPE vbak-vbeln,
            erdat TYPE vbak-erdat,
            erzet TYPE vbak-erzet,
            ernam TYPE vbak-ernam,
            auart TYPE vbak-auart,
            vdatu TYPE vbak-vdatu,
            bstnk TYPE vbak-bstnk,
            kunnr TYPE vbak-kunnr,
           END OF t_vbak.
 
    TYPES: BEGIN OF t_kna1,
            kunnr TYPE kna1-kunnr,
            name1 TYPE kna1-name1,
           END OF t_kna1.
 
    TYPES: BEGIN OF t_delivery,
            vgbel TYPE lips-vgbel,
            vbeln TYPE likp-vbeln,
            kunnr TYPE likp-kunnr,
           END OF t_delivery.
 
    TYPES: BEGIN OF t_billing,
            vbelv   TYPE vbfa-vbelv,
            vbtyp_n TYPE vbfa-vbtyp_n,
            vbeln   TYPE vbfa-vbeln,
           END OF t_billing.
 
    TYPES: BEGIN OF t_status,
            vbeln TYPE vbuk-vbeln,      "Sales and Distribution Document Number
            cmgst TYPE vbuk-cmgst,      "Overall status of credit checks
            lfstk TYPE vbuk-lfstk,      "Delivery status
            kostk TYPE vbuk-kostk,      "Overall picking / putaway status
            fkstk TYPE vbuk-fkstk,      "Billing status
            trsta TYPE vbuk-trsta,      "Transportation planning status
           END OF t_status.
 
    TYPES: BEGIN OF t_status_do,
            vbeln TYPE vbuk-vbeln,      "Delivery Document Number
            kostk TYPE vbuk-kostk,      "Overall picking / putaway status
            fkstk TYPE vbuk-fkstk,      "Billing status
            trsta TYPE vbuk-trsta,      "Transportation planning status
           END OF t_status_do.
 
    METHODS: get_sales_docs    FINAL,
             get_customer_desc FINAL,
             get_ship_to_desc  FINAL,
             get_delivery_docs FINAL,
             get_billing_docs  FINAL,
             get_so_status     FINAL.
 
  PROTECTED SECTION.
    CLASS-DATA: gt_vbak            TYPE STANDARD TABLE OF t_vbak,
                gt_kna1            TYPE HASHED   TABLE OF t_kna1
                                   WITH UNIQUE KEY kunnr,
                gt_kna2            TYPE HASHED   TABLE OF t_kna1
                                   WITH UNIQUE KEY kunnr,
                gt_delivery        TYPE STANDARD TABLE OF t_delivery,
                gt_billing         TYPE STANDARD TABLE OF t_billing,
                gt_status          TYPE STANDARD TABLE OF t_status,
                gt_status_do       TYPE STANDARD TABLE OF t_status_do,
                o_lcl_process_data TYPE REF TO lcl_process_data.
 
  PRIVATE SECTION.
    CLASS-DATA: wa_status LIKE LINE OF gt_status.
ENDCLASS.                    "lcl_get_data DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_process_data DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_process_data DEFINITION INHERITING FROM lcl_get_data.
  PUBLIC SECTION.
    METHODS: combine_data FINAL
               IMPORTING
                 im_sales_tab LIKE gt_vbak
                 im_cust_tab  LIKE gt_kna1
                 im_desc_tab  LIKE gt_kna2     OPTIONAL
                 im_dlv_tab   LIKE gt_delivery OPTIONAL
                 im_bill_tab  LIKE gt_billing  OPTIONAL
               EXPORTING
                 ex_output    LIKE gt_output,
 
             get_status
               IMPORTING
                 im_so        TYPE vbak-vbeln
                 im_do        TYPE likp-vbeln   OPTIONAL
               EXPORTING
                 ex_status    TYPE crmchar2.
 
  PRIVATE SECTION.
    DATA: lv_vbelv    TYPE vbfa-vbelv,
          lv_bill_doc TYPE vbfa-vbeln,
          lv_kunnr    TYPE vbpa-kunnr,
          lv_name1    TYPE kna1-name1,
          lv_parvw    TYPE vbpa-parvw,
          lv_flag1    TYPE flag.
ENDCLASS.                    "lcl_process_data DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_alv_routines DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv_routines DEFINITION INHERITING FROM lcl_process_data.
  PUBLIC SECTION.
    TYPES: BEGIN OF t_status_history,
             cr_hold(50)        TYPE c,
             cr_rel_on(10)      TYPE c,
             cr_rel_at(10)      TYPE c,
             do_created_on(10)  TYPE c,
             do_created_time(8) TYPE c,
             picked_on(10)      TYPE c,
             picked_time(8)     TYPE c,
             inv_created_on(10) TYPE c,
             dispatched_on(10)  TYPE c,
             dispatched_at(10)  TYPE c,
           END OF t_status_history.
 
    TYPES: BEGIN OF t_confirmation,
             podat TYPE likp-podat,
             potim TYPE likp-potim,
           END OF t_confirmation.
 
    CLASS-DATA: wa_fieldcat       LIKE LINE OF gt_fieldcat,
                gt_status_history TYPE STANDARD TABLE OF t_status_history,
                gt_confirmation   TYPE STANDARD TABLE OF t_confirmation,
                wa_status_history LIKE LINE OF gt_status_history,
                wa_confirmation   LIKE LINE OF gt_confirmation,
                wa_column         LIKE LINE OF gt_column,
                gt_domain_val     TYPE STANDARD TABLE OF dd07v,
                wa_domain_val     LIKE LINE OF gt_domain_val.
 
    METHODS: build_fieldcat FINAL,
             popup_routines
               IMPORTING
                 im_column LIKE gt_column
                 im_output LIKE wa_output
               EXPORTING
                 ex_status_history LIKE gt_status_history
                 ex_confirmation   LIKE gt_confirmation,
             get_domain_values FINAL
               IMPORTING
                 value(im_tabname)    TYPE ddobjname
                 value(im_fieldname)  TYPE dfies-fieldname
               EXPORTING
                 value(ex_values_tab) LIKE gt_domain_val.
 
  PRIVATE SECTION.
    CLASS-DATA: lt_dfies_tab TYPE STANDARD TABLE OF dfies,
                wa_dfies_tab LIKE LINE OF lt_dfies_tab.
 
ENDCLASS.                    "lcl_alv_routines DEFINITION
 
*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION INHERITING FROM lcl_alv_routines FINAL.
  PUBLIC SECTION.
    METHODS: handle_double_click
               FOR EVENT double_click OF cl_gui_alv_grid
                 IMPORTING
                   e_row
                   e_column,
 
             handle_close
               FOR EVENT close OF cl_gui_dialogbox_container
                 IMPORTING
                   sender,
 
             handle_hotspot_click
               FOR EVENT hotspot_click OF cl_gui_alv_grid
                 IMPORTING
                   e_row_id
                   e_column_id
                   es_row_no,
 
             create_detail_list
               IMPORTING
                 im_column         LIKE gt_column
                 im_status         LIKE gt_status_history
                 im_confirmation   LIKE gt_confirmation.
 
  PRIVATE SECTION.
    CLASS-DATA: o_lcl_alv_routines TYPE REF TO lcl_alv_routines.
ENDCLASS.                    "lcl_event_receiver DEFINITION
 
 
*/ CLASS IMPLEMENTATION/S
*----------------------------------------------------------------------*
*       CLASS lcl_get_data IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_get_data IMPLEMENTATION.
* METHOD get_sales_docs
  METHOD get_sales_docs.
    SELECT vbeln erdat erzet ernam auart vdatu bstnk kunnr
      FROM vbak
      INTO TABLE gt_vbak
     WHERE erdat IN s_erdat
       AND ernam IN s_ernam
       AND auart IN s_auart
       AND vkgrp IN s_vkgrp
       AND kunnr =  p_kunnr.
 
    IF NOT gt_vbak[] IS INITIAL.
      CALL METHOD: me-&amp;gt;get_customer_desc,
                       get_delivery_docs,
                       get_so_status,
                       get_billing_docs.
 
      CREATE OBJECT o_lcl_process_data.
      CALL METHOD o_lcl_process_data-&amp;gt;combine_data
        EXPORTING
          im_sales_tab = gt_vbak
          im_cust_tab  = gt_kna1
          im_desc_tab  = gt_kna2
          im_dlv_tab   = gt_delivery
          im_bill_tab  = gt_billing
        IMPORTING
          ex_output    = gt_output.
    ELSE.
      MESSAGE i000 WITH text-032.
      LEAVE LIST-PROCESSING.
    ENDIF.
  ENDMETHOD.                    "get_sales_docs
 
* METHOD get_customer_desc
  METHOD get_customer_desc.
    SELECT kunnr name1
      FROM kna1
      INTO TABLE gt_kna1
       FOR ALL ENTRIES IN gt_vbak
     WHERE kunnr = gt_vbak-kunnr.
  ENDMETHOD.                    "get_customer_desc
 
* METHOD get_ship_to_desc
  METHOD get_ship_to_desc.
    SELECT kunnr name1
      FROM kna1
      INTO TABLE gt_kna2
       FOR ALL ENTRIES IN gt_delivery
     WHERE kunnr = gt_delivery-kunnr.
  ENDMETHOD.                    "get_ship_to_desc
 
* METHOD get_delivery_docs
  METHOD get_delivery_docs.
    SELECT lips~vgbel likp~vbeln likp~kunnr
      FROM likp
     INNER JOIN lips
        ON likp~vbeln = lips~vbeln
      INTO TABLE gt_delivery
       FOR ALL ENTRIES IN gt_vbak
     WHERE lips~vgbel = gt_vbak-vbeln.
 
    IF NOT gt_delivery[] IS INITIAL.
      SORT gt_delivery ASCENDING BY: vgbel vbeln kunnr.
      DELETE ADJACENT DUPLICATES FROM gt_delivery COMPARING vgbel vbeln kunnr.
 
*     Get ship-to description
      CALL METHOD me-&amp;gt;get_ship_to_desc.
 
*     Get status of delivery documents
      SELECT vbeln kostk fkstk trsta
        FROM vbuk
        INTO TABLE gt_status_do
         FOR ALL ENTRIES IN gt_delivery
       WHERE vbeln = gt_delivery-vbeln.
    ENDIF.
  ENDMETHOD.                    "get_delivery_docs
 
* METHOD get_billing_docs
  METHOD get_billing_docs.
    SELECT vbelv vbtyp_n vbeln
      FROM vbfa
      INTO TABLE gt_billing
       FOR ALL ENTRIES IN gt_delivery
     WHERE vbelv   = gt_delivery-vbeln
       AND vbtyp_n = 'M'.
 
    SORT gt_billing ASCENDING BY: vbelv vbtyp_n vbeln.
    DELETE ADJACENT DUPLICATES FROM gt_billing COMPARING vbelv vbtyp_n vbeln.
  ENDMETHOD.                    "get_billing_docs
 
* METHOD get_so_status
  METHOD get_so_status.
    DATA: lv_curr_so TYPE vbak-vbeln,
          lv_lines   TYPE i.
 
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt;    LIKE LINE OF gt_status,
                   &amp;lt;fs_delivery&amp;gt;  LIKE LINE OF gt_delivery,
                   &amp;lt;fs_status_do&amp;gt; LIKE LINE OF gt_status_do.
 
    SELECT vbeln cmgst lfstk
      FROM vbuk
      INTO CORRESPONDING FIELDS OF TABLE gt_status
       FOR ALL ENTRIES IN gt_vbak
     WHERE vbeln = gt_vbak-vbeln.
 
    SORT gt_status_do BY vbeln ASCENDING.
    DESCRIBE TABLE gt_status LINES lv_lines.
    LOOP AT gt_status ASSIGNING &amp;lt;fs_status&amp;gt;.
      IF sy-tabix &amp;gt; lv_lines.
        EXIT.
      ENDIF.
      LOOP AT gt_delivery ASSIGNING &amp;lt;fs_delivery&amp;gt; WHERE vgbel = &amp;lt;fs_status&amp;gt;-vbeln.
        IF lv_curr_so = &amp;lt;fs_delivery&amp;gt;-vgbel.
          wa_status-vbeln = &amp;lt;fs_status&amp;gt;-vbeln.
          wa_status-cmgst = &amp;lt;fs_status&amp;gt;-cmgst.
          wa_status-lfstk = &amp;lt;fs_status&amp;gt;-lfstk.
          READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = &amp;lt;fs_delivery&amp;gt;-vbeln
                                                                            BINARY SEARCH.
          IF sy-subrc = 0.
            wa_status-kostk = &amp;lt;fs_status_do&amp;gt;-kostk.
            wa_status-fkstk = &amp;lt;fs_status_do&amp;gt;-fkstk.
            wa_status-trsta = &amp;lt;fs_status_do&amp;gt;-trsta.
          ENDIF.
          APPEND wa_status TO gt_status.
          CLEAR wa_status.
        ELSE.
          READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = &amp;lt;fs_delivery&amp;gt;-vbeln
                                                                            BINARY SEARCH.
          &amp;lt;fs_status&amp;gt;-kostk = &amp;lt;fs_status_do&amp;gt;-kostk.
          &amp;lt;fs_status&amp;gt;-fkstk = &amp;lt;fs_status_do&amp;gt;-fkstk.
          &amp;lt;fs_status&amp;gt;-trsta = &amp;lt;fs_status_do&amp;gt;-trsta.
        ENDIF.
        lv_curr_so = &amp;lt;fs_delivery&amp;gt;-vgbel.
      ENDLOOP.
    ENDLOOP.
  ENDMETHOD.                    "get_do_status
ENDCLASS.                    "lcl_get_data IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_process_data IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_process_data IMPLEMENTATION.
* METHOD combine_data
  METHOD combine_data.
    FIELD-SYMBOLS: &amp;lt;fs_sales_tab&amp;gt; LIKE LINE OF im_sales_tab,
                   &amp;lt;fs_cust_tab&amp;gt;  LIKE LINE OF im_cust_tab,
                   &amp;lt;fs_desc_tab&amp;gt;  LIKE LINE OF im_desc_tab,
                   &amp;lt;fs_dlv_tab&amp;gt;   LIKE LINE OF im_dlv_tab,
                   &amp;lt;fs_bill_tab&amp;gt;  LIKE LINE OF im_bill_tab.
 
    SORT gt_status BY vbeln ASCENDING.
    LOOP AT im_sales_tab ASSIGNING &amp;lt;fs_sales_tab&amp;gt;.
      CLEAR: lv_flag1, wa_output,lv_vbelv,
             lv_bill_doc, lv_kunnr,
             lv_name1, lv_parvw.
 
      wa_output-creation_date = &amp;lt;fs_sales_tab&amp;gt;-erdat.  "SO creation date
      wa_output-creation_time = &amp;lt;fs_sales_tab&amp;gt;-erzet.  "SO creation time
      wa_output-sales_doc     = &amp;lt;fs_sales_tab&amp;gt;-vbeln.  "Sales document
      wa_output-cust_code     = &amp;lt;fs_sales_tab&amp;gt;-kunnr.  "SO customer code
 
*     Customer description
      READ TABLE im_cust_tab ASSIGNING &amp;lt;fs_cust_tab&amp;gt; WITH KEY kunnr = &amp;lt;fs_sales_tab&amp;gt;-kunnr.
      IF sy-subrc = 0.
        MOVE &amp;lt;fs_cust_tab&amp;gt;-name1 TO: wa_output-cust_desc.    "SO customer description
      ENDIF.
 
      wa_output-po_num       = &amp;lt;fs_sales_tab&amp;gt;-bstnk.   "PO number
      wa_output-doc_type     = &amp;lt;fs_sales_tab&amp;gt;-auart.   "SO document type
      wa_output-req_dlv_date = &amp;lt;fs_sales_tab&amp;gt;-vdatu.   "SO req. delivery date
      wa_output-created_by   = &amp;lt;fs_sales_tab&amp;gt;-ernam.   "SO created by
 
      READ TABLE im_dlv_tab ASSIGNING &amp;lt;fs_dlv_tab&amp;gt; WITH KEY vgbel = &amp;lt;fs_sales_tab&amp;gt;-vbeln.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
          EXPORTING
            input  = 'SH'
          IMPORTING
            output = lv_parvw.
*/Get ship-to party and description based from sales document
* if delivery document is non-existent
        SELECT SINGLE kunnr
          FROM vbpa
          INTO lv_kunnr
         WHERE vbeln = &amp;lt;fs_sales_tab&amp;gt;-vbeln
           AND parvw = lv_parvw.             "Ship-to party
 
        IF sy-subrc = 0.
          SELECT SINGLE name1
            FROM kna1
            INTO lv_name1
           WHERE kunnr = lv_kunnr.
 
          IF sy-subrc = 0.
            wa_output-ship_to_code = lv_kunnr.
            wa_output-ship_to_desc = lv_name1.
          ENDIF.
        ENDIF.
*       Sales order status
        CALL METHOD me-&amp;gt;get_status
          EXPORTING
            im_so     = wa_output-sales_doc
          IMPORTING
            ex_status = wa_output-so_status.
 
        APPEND wa_output TO ex_output.
        CLEAR wa_output.
        CONTINUE.
      ENDIF.
 
*     Ship-to code/party and delivery document
      LOOP AT im_dlv_tab ASSIGNING &amp;lt;fs_dlv_tab&amp;gt; WHERE vgbel = &amp;lt;fs_sales_tab&amp;gt;-vbeln.
        CLEAR: lv_flag1.
        wa_output-ship_to_code = &amp;lt;fs_dlv_tab&amp;gt;-kunnr.   "Ship-to code
        wa_output-del_doc      = &amp;lt;fs_dlv_tab&amp;gt;-vbeln.   "Delivery document
 
*       Ship-to description
        READ TABLE im_desc_tab ASSIGNING &amp;lt;fs_desc_tab&amp;gt; WITH KEY kunnr = &amp;lt;fs_dlv_tab&amp;gt;-kunnr.
        IF sy-subrc = 0.
          wa_output-ship_to_desc = &amp;lt;fs_desc_tab&amp;gt;-name1.
        ENDIF.
 
*       Sales order and delivery order status
        CALL METHOD me-&amp;gt;get_status
          EXPORTING
            im_so     = wa_output-sales_doc
            im_do     = wa_output-del_doc
          IMPORTING
            ex_status = wa_output-so_status.
 
*       Billing document
        LOOP AT im_bill_tab ASSIGNING &amp;lt;fs_bill_tab&amp;gt; WHERE vbelv   = &amp;lt;fs_dlv_tab&amp;gt;-vbeln
                                                      AND vbtyp_n =  'M'.
          CLEAR lv_flag1.
          IF lv_vbelv    = &amp;lt;fs_bill_tab&amp;gt;-vbelv AND
             lv_bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.
            CONTINUE.
          ENDIF.
          lv_vbelv    = &amp;lt;fs_bill_tab&amp;gt;-vbelv.
          lv_bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.
 
          wa_output-bill_doc = &amp;lt;fs_bill_tab&amp;gt;-vbeln.    "Billing document
          MOVE 'X' TO lv_flag1.
          APPEND wa_output TO ex_output.
          CLEAR: wa_output-ship_to_code, wa_output-del_doc,
                 wa_output-so_status, wa_output-bill_doc.
          EXIT.
        ENDLOOP.
 
        IF lv_flag1 = 'X'.
          CONTINUE.
        ELSE.
          APPEND wa_output TO ex_output.
          CLEAR: wa_output-ship_to_code, wa_output-del_doc,
                 wa_output-ship_to_desc, wa_output-so_status.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
 
    SORT ex_output BY sales_doc.
  ENDMETHOD.                    "combine_data
 
* METHOD get_status
  METHOD get_status.
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt;    LIKE LINE OF gt_status,
                   &amp;lt;fs_status_do&amp;gt; LIKE LINE OF gt_status_do.
 
*/Check the current stage of a given sales order in descending order
* starting with the shipment status
 
    READ TABLE gt_status_do ASSIGNING &amp;lt;fs_status_do&amp;gt; WITH KEY vbeln = im_do
                                                                      BINARY SEARCH.
    IF sy-subrc = 0.
*     Shipment/dispatch status
      IF &amp;lt;fs_status_do&amp;gt;-trsta = 'B' OR
         &amp;lt;fs_status_do&amp;gt;-trsta = 'C'.
        ex_status = 'SH'.
*     Invoice status
      ELSEIF &amp;lt;fs_status_do&amp;gt;-fkstk = 'B' OR
             &amp;lt;fs_status_do&amp;gt;-fkstk = 'C'.
        ex_status = 'IN'.
*     Picking status
      ELSEIF &amp;lt;fs_status_do&amp;gt;-kostk = 'B' OR
             &amp;lt;fs_status_do&amp;gt;-kostk = 'C'.
        ex_status = 'PS'.
      ENDIF.
    ENDIF.
 
    IF ex_status IS INITIAL.
      READ TABLE gt_status ASSIGNING &amp;lt;fs_status&amp;gt; WITH KEY vbeln = im_so
                                                                  BINARY SEARCH.
      IF sy-subrc = 0.
*       Delivery order status
        IF &amp;lt;fs_status&amp;gt;-lfstk = 'B' OR
           &amp;lt;fs_status&amp;gt;-lfstk = 'C'.
          ex_status = 'DO'.
*       Credit released
        ELSEIF &amp;lt;fs_status&amp;gt;-cmgst = 'A' OR
               &amp;lt;fs_status&amp;gt;-cmgst = 'D'.
          ex_status = 'CR'.
*       Credit hold
        ELSEIF &amp;lt;fs_status&amp;gt;-cmgst = 'B' OR
               &amp;lt;fs_status&amp;gt;-cmgst = 'C'.
          ex_status = 'CH'.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "get_status
ENDCLASS.                    "lcl_process_data IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_alv_routines IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv_routines IMPLEMENTATION.
* METHOD build_fieldcat
  METHOD build_fieldcat.
    REFRESH: gt_fieldcat.
    CLEAR wa_fieldcat.
 
    DEFINE m_fieldcat.
      add 1 to wa_fieldcat-col_pos.
      wa_fieldcat-fieldname   = &amp;amp;1.
      wa_fieldcat-tabname     = &amp;amp;2.
      wa_fieldcat-coltext     = &amp;amp;3.
      wa_fieldcat-outputlen   = &amp;amp;4.
      wa_fieldcat-fix_column  = &amp;amp;5.
      wa_fieldcat-just        = &amp;amp;6.
      wa_fieldcat-do_sum      = &amp;amp;7.
      wa_fieldcat-emphasize   = &amp;amp;8.
      wa_fieldcat-hotspot     = &amp;amp;9.
      append wa_fieldcat to gt_fieldcat.
    END-OF-DEFINITION.
 
    IF wa_column-fname = 'SO_STATUS'.
      m_fieldcat 'CR_HOLD'         'GT_STATUS_HISTORY'  text-002  '50' 'X' '' '' '' ''.
      m_fieldcat 'CR_REL_ON'       'GT_STATUS_HISTORY'  text-003  '18' 'X' '' '' '' ''.
      m_fieldcat 'CR_REL_AT'       'GT_STATUS_HISTORY'  text-004  '18' 'X' '' '' '' ''.
      m_fieldcat 'DO_CREATED_ON'   'GT_STATUS_HISTORY'  text-005  '13' 'X' '' '' '' ''.
      m_fieldcat 'DO_CREATED_TIME' 'GT_STATUS_HISTORY'  text-030  '15' 'X' '' '' '' ''.
      m_fieldcat 'PICKED_ON'       'GT_STATUS_HISTORY'  text-006  '12' 'X' '' '' '' ''.
      m_fieldcat 'PICKED_TIME'     'GT_STATUS_HISTORY'  text-031  '12' 'X' '' '' '' ''.
      m_fieldcat 'INV_CREATED_ON'  'GT_STATUS_HISTORY'  text-007  '15' 'X' '' '' '' ''.
      m_fieldcat 'DISPATCHED_ON'   'GT_STATUS_HISTORY'  text-008  '13' 'X' '' '' '' ''.
      m_fieldcat 'DISPATCHED_AT'   'GT_STATUS_HISTORY'  text-009  '13' 'X' '' '' '' ''.
    ELSEIF wa_column-fname = 'BILL_DOC'.
      m_fieldcat 'PODAT'          'GT_CONFIRMATION'    text-010  '17' 'X' '' '' '' ''.
      m_fieldcat 'POTIM'          'GT_CONFIRMATION'    text-011  '17' 'X' '' '' '' ''.
    ELSE.
      m_fieldcat 'CREATION_DATE' 'GT_OUTPUT' text-012 '10' 'X' '' '' '' ''.
      m_fieldcat 'CREATION_TIME' 'GT_OUTPUT' text-013 '10' 'X' '' '' '' ''.
      m_fieldcat 'SALES_DOC'     'GT_OUTPUT' text-014 '10' 'X' '' '' 'X' 'X'.
      m_fieldcat 'CUST_CODE'     'GT_OUTPUT' text-015 '16' 'X' '' '' '' ''.
      m_fieldcat 'CUST_DESC'     'GT_OUTPUT' text-016 '40' 'X' '' '' '' ''.
      m_fieldcat 'SHIP_TO_CODE'  'GT_OUTPUT' text-017 '15' 'X' '' '' '' ''.
      m_fieldcat 'SHIP_TO_DESC'  'GT_OUTPUT' text-018 '40' 'X' '' '' '' ''.
      m_fieldcat 'PO_NUM'        'GT_OUTPUT' text-019 '24' 'X' '' '' '' ''.
      m_fieldcat 'DOC_TYPE'      'GT_OUTPUT' text-020 '16' 'X' '' '' '' ''.
      m_fieldcat 'REQ_DLV_DATE'  'GT_OUTPUT' text-021 '21' 'X' '' '' '' ''.
      m_fieldcat 'SO_STATUS'     'GT_OUTPUT' text-022 '09' 'X' '' '' 'C400' ''.
      m_fieldcat 'CREATED_BY'    'GT_OUTPUT' text-023 '13' 'X' '' '' '' ''.
      m_fieldcat 'DEL_DOC'       'GT_OUTPUT' text-024 '18' 'X' '' '' '' ''.
      m_fieldcat 'BILL_DOC'      'GT_OUTPUT' text-025 '11' 'X' '' '' 'C600' ''.
    ENDIF.
  ENDMETHOD.                    "build_fieldcat
 
* METHOD popup_routines
  METHOD popup_routines.
    READ TABLE im_column INDEX 1 INTO wa_column.
    FIELD-SYMBOLS: &amp;lt;fs_status&amp;gt; LIKE LINE OF gt_status.
    DATA: lv_datum TYPE syst-datum,
          lv_uzeit TYPE syst-uzeit.
 
    CLEAR: wa_status_history, lv_datum, lv_uzeit.
    REFRESH gt_status_history.
 
*/Popup routine if user clicked on the SO status
    IF wa_column-fname = 'SO_STATUS'.
      CALL METHOD me-&amp;gt;get_domain_values
        EXPORTING
          im_tabname    = 'VBUK'
          im_fieldname  = 'CMGST'
        IMPORTING
          ex_values_tab = gt_domain_val.
 
*     Credit hold
      READ TABLE gt_status ASSIGNING &amp;lt;fs_status&amp;gt; WITH KEY vbeln = im_output-sales_doc.
      IF sy-subrc = 0.
        wa_status_history-cr_hold = &amp;lt;fs_status&amp;gt;-cmgst.
      ENDIF.
 
      READ TABLE gt_domain_val INTO wa_domain_val WITH
                                KEY domvalue_l = wa_status_history-cr_hold
                                TRANSPORTING ddtext.
      IF sy-subrc = 0.
        wa_status_history-cr_hold = wa_domain_val-ddtext.
      ENDIF.
 
*     Credit released date and time
      SELECT SINGLE udate utime
        FROM cdhdr
        INTO (lv_datum, lv_uzeit)
       WHERE objectid = im_output-sales_doc
         AND tcode    = 'VKM3'.
 
      IF sy-subrc = 0.
        WRITE lv_datum TO wa_status_history-cr_rel_on
        USING EDIT MASK '__.__.____'.
        CLEAR lv_datum.
 
        WRITE lv_uzeit TO wa_status_history-cr_rel_at
        USING EDIT MASK '__:__:__'.
        CLEAR lv_uzeit.
      ENDIF.
 
*     DO creation date and time
      IF NOT im_output-del_doc IS INITIAL.
        SELECT SINGLE erdat erzet
          FROM likp
          INTO (lv_datum, lv_uzeit)
         WHERE vbeln = im_output-del_doc.
 
        IF sy-subrc = 0.
          WRITE lv_datum TO wa_status_history-do_created_on
          USING EDIT MASK '__.__.____'.
          CLEAR lv_datum.
 
          WRITE lv_uzeit TO wa_status_history-do_created_time
          USING EDIT MASK '__:__:__'.
          CLEAR lv_uzeit.
        ENDIF.
 
*       Picking date and time
        SELECT SINGLE bdatu bzeit
          FROM ltak
          INTO (lv_datum, lv_uzeit)
         WHERE vbeln = im_output-del_doc.
 
        IF sy-subrc = 0.
          WRITE lv_datum TO wa_status_history-picked_on
          USING EDIT MASK '__.__.____'.
          CLEAR lv_datum.
 
          WRITE lv_uzeit TO wa_status_history-picked_time
          USING EDIT MASK '__:__:__'.
          CLEAR lv_uzeit.
        ENDIF.
      ENDIF.
 
*     Invoice created on
      SELECT SINGLE erdat
        FROM vbrk
        INTO lv_datum
       WHERE vbeln = im_output-bill_doc.
 
      WRITE lv_datum TO wa_status_history-inv_created_on
      USING EDIT MASK '__.__.____'.
      CLEAR lv_datum.
 
*     Dispatched on and dispatched at
      SELECT SINGLE tknum
        FROM vttp
        INTO vttp-tknum
       WHERE vbeln = im_output-del_doc.
 
      IF sy-subrc = 0.
        SELECT SINGLE dtabf uzabf
          FROM vttk
          INTO (lv_datum, lv_uzeit)
         WHERE tknum = vttp-tknum.
 
        WRITE lv_datum TO wa_status_history-dispatched_on
        USING EDIT MASK '__.__.____'.
        CLEAR lv_datum.
 
        WRITE lv_uzeit TO wa_status_history-dispatched_at
        USING EDIT MASK '__:__:__'.
        CLEAR lv_uzeit.
      ENDIF.
 
      APPEND wa_status_history TO gt_status_history.
      ex_status_history[] = gt_status_history[].
      CLEAR wa_status_history.
*/Popup routine if the user clicked on the billing document
    ELSEIF wa_column-fname = 'BILL_DOC'.
      IF NOT im_output-del_doc IS INITIAL.
        SELECT SINGLE podat potim
          FROM likp
          INTO (wa_confirmation-podat, wa_confirmation-potim)
         WHERE vbeln = im_output-del_doc.
 
        APPEND wa_confirmation TO gt_confirmation.
        ex_confirmation[] = gt_confirmation[].
        CLEAR wa_confirmation.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "popup_routines
 
* METHOD get_domain_values
  METHOD   get_domain_values.
    CALL FUNCTION 'DDIF_FIELDINFO_GET'
      EXPORTING
        tabname              = im_tabname
        fieldname            = im_fieldname
        langu                = sy-langu
*       LFIELDNAME           = ' '
*       ALL_TYPES            = ' '
*       GROUP_NAMES          = ' '
*       UCLEN                =
*     IMPORTING
*       X030L_WA             =
*       DDOBJTYPE            =
*       DFIES_WA             =
*       LINES_DESCR          =
      TABLES
        dfies_tab            = lt_dfies_tab
*       FIXED_VALUES         =
*     EXCEPTIONS
*       NOT_FOUND            = 1
*       INTERNAL_ERROR       = 2
*       OTHERS               = 3
              .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
 
    READ TABLE lt_dfies_tab INDEX 1 INTO wa_dfies_tab
                                    TRANSPORTING domname.
 
    CALL FUNCTION 'GET_DOMAIN_VALUES'
       EXPORTING
         domname               = wa_dfies_tab-domname
*       TEXT                  = 'X'
*       FILL_DD07L_TAB        = ' '
       TABLES
         values_tab            = ex_values_tab
*       VALUES_DD07L          =
*     EXCEPTIONS
*       NO_VALUES_FOUND       = 1
*       OTHERS                = 2
               .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ENDMETHOD.                    "get_domain_values
ENDCLASS.                    "lcl_alv_routines IMPLEMENTATION
 
*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
* METHOD handle_double_click
  METHOD handle_double_click.
    IF e_column = 'SO_STATUS' OR
       e_column = 'BILL_DOC'.
 
      CREATE OBJECT: o_lcl_alv_routines.
      CLEAR: wa_output.
      REFRESH: gt_fieldcat,
               gt_column,
               gt_status_history,
               gt_confirmation.
 
      MOVE: e_column-fieldname TO wa_column-fname,
            e_column-hierlevel TO wa_column-level.
 
      APPEND wa_column TO gt_column.
 
*     Get record based on what the user clicked
      READ TABLE gt_output INDEX e_row-index INTO wa_output.
 
*     Build fieldcatalog depending on what the user clicked
      CALL METHOD o_lcl_alv_routines-&amp;gt;build_fieldcat.
 
*     Call popup routine/s
      CALL METHOD o_lcl_alv_routines-&amp;gt;popup_routines
        EXPORTING
          im_column         = gt_column
          im_output         = wa_output
        IMPORTING
          ex_status_history = gt_status_history
          ex_confirmation   = gt_confirmation.
 
      CALL METHOD me-&amp;gt;create_detail_list
        EXPORTING
          im_column       = gt_column
          im_status       = gt_status_history
          im_confirmation = gt_confirmation.
    ENDIF.
  ENDMETHOD.                    "handle_double_click
 
* METHOD handle_close
  METHOD handle_close.
    CALL METHOD sender-&amp;gt;set_visible
      EXPORTING
        visible = space.
  ENDMETHOD.                    "handle_close
 
* METHOD handle_hotspot_click
  METHOD handle_hotspot_click.
    READ TABLE gt_output INDEX e_row_id INTO wa_output.
    IF NOT wa_output-sales_doc IS INITIAL
       AND e_column_id = 'SALES_DOC'.
      SET PARAMETER ID 'AUN' FIELD wa_output-sales_doc.
      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    ENDIF.
 
  ENDMETHOD.                    "handle_hotspot_click
 
* METHOD create_detail_list
  METHOD create_detail_list.
    DATA: lv_caption(200) TYPE c.
    CLEAR wa_column.
 
*   Create popup window
    CREATE OBJECT dialogbox_container
        EXPORTING
          top = 100
          left = 150
          lifetime = cntl_lifetime_dynpro
          caption = lv_caption
          width = 800
          height = 200.
    CREATE OBJECT grid2
        EXPORTING i_parent = dialogbox_container.
 
*   Trigger event when user closes the popup window
    SET HANDLER event_receiver-&amp;gt;handle_close FOR dialogbox_container.
 
    READ TABLE im_column INDEX 1 INTO wa_column.
 
*   Display popup window
    IF wa_column-fname = 'SO_STATUS'.
      gs_layout-grid_title = text-026.
      CALL METHOD grid2-&amp;gt;set_table_for_first_display
       EXPORTING
*        i_structure_name = 'T_OUTPUT'
         is_layout        = gs_layout
       CHANGING
         it_outtab        = gt_status_history
         it_fieldcatalog  = gt_fieldcat.
    ELSEIF wa_column-fname = 'BILL_DOC'.
      gs_layout-grid_title = text-027.
      CALL METHOD grid2-&amp;gt;set_table_for_first_display
       EXPORTING
*        i_structure_name = 'T_OUTPUT'
         is_layout        = gs_layout
       CHANGING
         it_outtab        = gt_confirmation
         it_fieldcatalog  = gt_fieldcat.
    ENDIF.
    CALL METHOD cl_gui_control=&amp;gt;set_focus
      EXPORTING
        control = grid2.
  ENDMETHOD.                    "create_detail_list
 
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
 
*----------------------------------------------*
* START-OF-SELECTION                           *
*----------------------------------------------*
START-OF-SELECTION.
  DATA: o_lcl_get_data TYPE REF TO lcl_get_data.
 
  CREATE OBJECT o_lcl_get_data.
  CALL METHOD o_lcl_get_data-&amp;gt;get_sales_docs.
 
*----------------------------------------------*
* END-OF-SELECTION                             *
*----------------------------------------------*
END-OF-SELECTION.
  CALL SCREEN 100.
 
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS '100'.
  SET TITLEBAR  'TITLE100'.
 
  DATA: o_lcl_alv_routines TYPE REF TO lcl_alv_routines,
        gv_text            TYPE string,
        gv_name1           TYPE kna1-name1,
        gv_date_low(10)    TYPE c,
        gv_date_high(10)   TYPE c.
 
  CREATE OBJECT o_lcl_alv_routines.
 
  g_repid = sy-repid.
  IF custom_container IS INITIAL.
    CREATE OBJECT custom_container
      EXPORTING
        container_name = gv_container
      EXCEPTIONS
        cntl_error = 1
        cntl_system_error = 2
        create_error = 3
        lifetime_error = 4
        lifetime_dynpro_dynpro_link = 5.
 
    IF sy-subrc NE 0.
      CALL FUNCTION 'POPUP_TO_INFORM'
        EXPORTING
          titel = g_repid
          txt2  = sy-subrc
          txt1  = text-028.
    ENDIF.
 
    CREATE OBJECT grid1
      EXPORTING
        i_parent = custom_container.
 
*   Build fieldcatalog for initial display
    CALL METHOD o_lcl_alv_routines-&amp;gt;build_fieldcat.
 
    SELECT SINGLE name1
      FROM kna1
      INTO gv_name1
     WHERE kunnr = p_kunnr.
 
    WRITE: s_erdat-low  TO gv_date_low  USING EDIT MASK '__.__.____',
           s_erdat-high TO gv_date_high USING EDIT MASK '__.__.____'.
 
    CONCATENATE: gv_name1 'from:' gv_date_low '-' gv_date_high
           INTO gv_text
      SEPARATED BY space.
 
    gs_layout-grid_title = gv_text.
 
*   Display initial window
    CALL METHOD grid1-&amp;gt;set_table_for_first_display
      EXPORTING
*        i_structure_name = ''
        is_layout        = gs_layout
      CHANGING
        it_outtab        = gt_output
        it_fieldcatalog  = gt_fieldcat.
 
    CREATE OBJECT event_receiver.
 
*   Trigger event when user double clicks initial window
    SET HANDLER event_receiver-&amp;gt;handle_double_click FOR grid1.
 
*   Trigger event when user clicks hotspot field
    SET HANDLER event_receiver-&amp;gt;handle_hotspot_click FOR grid1.
 
  ENDIF.
 
  CALL METHOD cl_gui_control=&amp;gt;set_focus
    EXPORTING
      control = grid1.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  CASE save_ok.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
      CALL METHOD custom_container-&amp;gt;free.
      CALL METHOD cl_gui_cfw=&amp;gt;flush.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        CALL FUNCTION 'POPUP_TO_INFORM'
          EXPORTING
            titel = g_repid
            txt2  = sy-subrc
            txt1  = text-029.
      ENDIF.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfulla nswers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:23:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620777#M601845</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:23:49Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620778#M601846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI PAVAN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx for ur response.&lt;/P&gt;&lt;P&gt;BOSS im looking for only small sample code...not a lengthy one.&lt;/P&gt;&lt;P&gt; i have a field by name wadat_ist ..which  is a goods issue date..&lt;/P&gt;&lt;P&gt;i have to convert that date into dd.mm.yyyy formatt...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:33:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620778#M601846</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:33:52Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620779#M601847</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;use the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;date like sy-datum&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewrad if usefull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:41:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620779#M601847</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:41:36Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620780#M601848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jack &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To convert date try like this &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM CONVERT-DATE.
 
  SELECT SINGLE * FROM USR01 WHERE BNAME = SY-UNAME.
  CASE USR01-DATFM.
   WHEN '1' OR '2' OR '3'.   "JJ.MM.AAAA
     WA_JJ    = SY-DATUM(2).
     WA_MM    = SY-DATUM+2(2).
     WA_AAAA  = SY-DATUM+4(4).
   WHEN '4' OR '5' OR '6'.  " AAAA.MM.JJ
      WA_JJ    = SY-DATUM+6(2).
      WA_MM    = SY-DATUM+4(2).
      WA_AAAA  = SY-DATUM(4).
     ENDCASE.
ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or without using any function module u can perform in this way also&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  start-of-selection.
data: lv_date type sy-datum.

data: lv_formatdate(10) type c.


data: var1(4) type c,

var2(2) type c,

var3(2) type c.


lv_date = sy-datum.
var1 = lv_date+(4).
var2 = lv_date+4(2).
var3 = lv_date+6(2).

concatenate var3 var2 var1 into lv_formatdate separated by '.'.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for using different FM for converting date format&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap4.com/contentid-130.html" target="test_blank"&gt;http://sap4.com/contentid-130.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarsd&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:42:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620780#M601848</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:42:20Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620781#M601849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check fieldcatelog for that column. Fill following values&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;fieldcat-ref_fieldname = 'DATUM' .
fieldcat-ref_tabname = 'SYST' .&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:54:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620781#M601849</guid>
      <dc:creator>Pawan_Kesari</dc:creator>
      <dc:date>2007-08-08T11:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620782#M601850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;DATA: V_PERIOD(40).&lt;/P&gt;&lt;P&gt;CONCATENATE wadat_ist -LOW&lt;EM&gt;6(2) '.' wadat_ist -LOW&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;  wadat_ist -LOW(4)  INTO V_PERIOD SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH ITHED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR SHED.&lt;/P&gt;&lt;P&gt;  SHED-TYP  = 'H1'.&lt;/P&gt;&lt;P&gt;  SHED-INFO =  'Report XYZ'.&lt;/P&gt;&lt;P&gt;  APPEND SHED TO ITHED.&lt;/P&gt;&lt;P&gt;  CLEAR SHED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR SHED.&lt;/P&gt;&lt;P&gt;  SHED-TYP  = 'A'.&lt;/P&gt;&lt;P&gt;  SHED-INFO =  V_PERIOD.&lt;/P&gt;&lt;P&gt;  APPEND SHED TO ITHED.&lt;/P&gt;&lt;P&gt;  CLEAR SHED.&lt;/P&gt;&lt;P&gt;&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 = ITHED.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_LOGO             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_END_OF_LIST_GRID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sipra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 11:59:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620782#M601850</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T11:59:13Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620783#M601851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI PAWAN,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANX ALOTT.&lt;/P&gt;&lt;P&gt;GOT SOLVED...&lt;/P&gt;&lt;P&gt;I HAVE ONE MORE QUERY..&lt;/P&gt;&lt;P&gt;and that is...&lt;/P&gt;&lt;P&gt;for a particular field the values are 0 for a particular sales order no. f&lt;/P&gt;&lt;P&gt;and 0,00 for another sales order no for the same field..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i dont want 0,00 ..how to do that??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;jack&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 12:00:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620783#M601851</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T12:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620784#M601852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;do this in fledcat:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE  'X'  TO   WA_FIELDCAT-NO_ZERO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Dieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 12:05:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620784#M601852</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T12:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: DATE PROBLEM IN ALV??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620785#M601853</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;Use like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SHIFT ITab-matnr LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2007 12:27:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/date-problem-in-alv/m-p/2620785#M601853</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-08T12:27:56Z</dc:date>
    </item>
  </channel>
</rss>

