Wednesday 5 November 2014

field catlog

REPORT Z05_INT_LIST.

TYPESBEGIN OF T_MARD,
           WERKS TYPE MARD-WERKS,
           LGORT TYPE MARD-LGORT,
           MATNR TYPE MARD-MATNR,
           INSME TYPE MARD-INSME,
           EINME TYPE MARD-EINME,
           SPEME TYPE MARD-SPEME,
       END OF T_MARD.


DATA:    W_MARD TYPE T_MARD.

DATA:    I_MARD TYPE STANDARD TABLE OF T_MARD.

* Types Pools
TYPE-POOLS:
    SLIS.
* Types
TYPES:
    T_FIELDCAT         TYPE SLIS_FIELDCAT_ALV,
    T_EVENTS           TYPE SLIS_ALV_EVENT,
    T_LAYOUT           TYPE SLIS_LAYOUT_ALV.
* Workareas
DATA:
    W_FIELDCAT         TYPE T_FIELDCAT,
    W_EVENTS           TYPE T_EVENTS,
    W_LAYOUT           TYPE T_LAYOUT.
* Internal Tables
DATA:
    I_FIELDCAT         TYPE STANDARD TABLE OF T_FIELDCAT,
    I_FIELDCAT1        TYPE STANDARD TABLE OF T_FIELDCAT,
    I_EVENTS           TYPE STANDARD TABLE OF T_EVENTS.


START-OF-SELECTION.

  PERFORM GET_DATA_FROM_DATABASE .


  END-OF-SELECTION.

  PERFORM BUILD_FIELDCATALOG.
  PERFORM BUILD_EVENTS.
  PERFORM BUILD_LAYOUT.
  PERFORM DISPLAY_DATA.

  FORM BUILD_FIELDCATALOG .
  CLEAR :
  W_FIELDCAT,
  I_FIELDCAT[].

  PERFORM BUILD_FCAT USING:
  "Field   Int.Table Column headings
  'WERKS' 'I_MARD' 'WERKS',
  'LGORT' 'I_MARD' 'LGORT',
  'MATNR' 'I_MARD' 'MATERIAL NUMBER',
  'INSME' 'I_MARD' 'INSME',
  'EINME' 'I_MARD' 'EINME',
  'SPEME' 'I_MARD' 'SPEME'.
ENDFORM.                    " build_fieldcatalog

*&---------------------------------------------------------------------*
*&      Form  display_data
*&---------------------------------------------------------------------*
FORM DISPLAY_DATA .
  DATA :PROGRAM LIKE SY-REPID VALUE SY-REPID.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM PROGRAM
      IS_LAYOUT          W_LAYOUT
      IT_FIELDCAT        I_FIELDCAT
      IT_EVENTS          I_EVENTS
    TABLES
      T_OUTTAB           I_MARD.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ENDFORM.                    " display_data

*&---------------------------------------------------------------------*
*&      Form  get_data_from_database
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_DATA_FROM_DATABASE .
  CLEAR :I_MARD,
  I_MARD[].

  SELECT WERKS LGORT MATNR INSME EINME SPEME
  FROM MARD
  INTO CORRESPONDING FIELDS OF TABLE I_MARD
  UP TO 100 ROWS.


ENDFORM.                    " get_data_from_database

*&---------------------------------------------------------------------*
*&      Form  top_of_page
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.

  DATA :
  I_HEADER TYPE SLIS_T_LISTHEADER,
  W_HEADER LIKE LINE OF I_HEADER.

  DATA:L_DATE1 TYPE DATUM,
  L_DATE2 TYPE DATUM.

  W_HEADER-TYP 'S'.
  W_HEADER-INFO SY-TITLE.
  APPEND W_HEADER TO I_HEADER.
  CLEAR W_HEADER.

  W_HEADER-TYP 'H'.
  W_HEADER-INFO SY-REPID.
  APPEND W_HEADER TO I_HEADER.
  CLEAR W_HEADER.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY I_HEADER
      I_LOGO             'ENJOYSAP_LOGO'.

ENDFORM.                    "top_of_page
*&---------------------------------------------------------------------*
*&      Form  BUILD_FCAT
*&---------------------------------------------------------------------*

FORM BUILD_FCAT  USING  L_FIELD L_TAB L_TEXT.

  W_FIELDCAT-FIELDNAME L_FIELD.
  W_FIELDCAT-TABNAME   L_TAB.
  W_FIELDCAT-SELTEXT_M L_TEXT.
  APPEND W_FIELDCAT TO I_FIELDCAT.
  CLEAR W_FIELDCAT.

ENDFORM.                    " BUILD_FCAT
*&---------------------------------------------------------------------*
"      Form  build_events
"     Events
"     ------
"    1. When we use ALV,certain events TOP-OF-PAGE ,END-OF-PAGE,
"       AT LINE-SELECTION,AT USER-COMMANDs are not triggered.
"    2. To perform those Functions ,we have to build Events table and
"       pass this table through REUSE_ALV_LIST_DISPALY Function.
*&---------------------------------------------------------------------*
FORM BUILD_EVENTS .
  CLEAR :
  W_EVENTS,I_EVENTS[].

  W_EVENTS-NAME 'TOP_OF_PAGE'.
  W_EVENTS-FORM 'TOP_OF_PAGE'.
  APPEND W_EVENTS TO I_EVENTS.
  CLEAR W_EVENTS.
ENDFORM.                    " build_events
*&---------------------------------------------------------------------*
"&      Form  build_layout
"     Layouts
"     -------
"  Use :We change the display of our list using layouts.
"  ===
"  Features
"  ========
"    The layouts that you can use vary according to the type of list:
"   1-->In all lists, you can do the following:
"       (a).Choose one of the std layouts supplied with the std system.
"       (b).Change the current layout of the list .
"   2-->In lists that use only the standard layouts in the std system
"       you cannot save your changes to the current layout.When you
"       choose the layouts, only the standard layouts will be proposed.
"   3-->In some lists, you can also save the layouts that you have
"       defined as our own layouts.
"      User-defined layouts are generally saved for all users. They can
"       then be used by all users. All users will be able to choose from
"       the user-defined layouts as well as the standard layouts.
"   4-->In some lists, you can also save user-specific layouts that you
"       have defined . When you choose the current layout,only these
"       layouts are available to you.
"   5-->You can delete or transport layouts, or define them as initial
"       layouts
"   6-->STRUCTURE :SLIS_LAYOUT_ALV.
*&---------------------------------------------------------------------*
FORM BUILD_LAYOUT .
  CLEAR:
  W_LAYOUT.
  W_LAYOUT-COLWIDTH_OPTIMIZE 'X'.
ENDFORM.                    " build_layout

Thursday 13 September 2012

Alv Report sorted



REPORT  Z03_ALV_01.
TYPE-POOLs:slis.


TYPES:BEGIN OF TY_ITEM,
        EBELN TYPE EKPO-EBELN,
        EBELP TYPE EKPO-EBELP,
        AEDAT TYPE EKPO-AEDAT,
        MATNR TYPE EKPO-MATNR,
        WERKS TYPE EKPO-WERKS,
        LGORT TYPE EKPO-LGORT,
        MEINS TYPE EKPO-MEINS,
        NETWR TYPE EKPO-NETWR,
      END OF TY_ITEM,


      BEGIN OF TY_HEADER,
        EBELN TYPE EKKO-EBELN,
        BUKRS TYPE EKKO-BUKRS,
      END OF TY_HEADER.


DATA: LS_HEAD TYPE  TY_HEADER,
      LT_HEAD TYPE TABLE OF TY_HEADER,
      LS_ITEM TYPE TY_ITEM,
      LT_ITEM TYPE TABLE OF TY_ITEM,
      LT_SORT TYPE SLIS_T_SORTINFO_ALV,    " Field catlog for at new..
     LS_FIELDCAT TYPE  SLIS_FIELDCAT_ALV,
     LT_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV,

INITIALIZATION.
PERFORM field.
PERFORM s_up USING lT_SORT.


SELECT-OPTIONS: S_EBELN FOR LS_HEAD-EBELN,
                S_BUKRS FOR LS_HEAD-BUKRS.



START-OF-SELECTION.


SELECT EBELN BUKRS FROM EKKO
                   INTO  TABLE LT_HEAD WHERE EBELN IN S_EBELN AND BUKRS IN S_BUKRS.


IF LT_HEAD IS INITIAL.
MESSAGE 'EMPTY' TYPE 'S'.

ENDIF.


SELECT   EBELN
         EBELP
         AEDAT
         MATNR
         WERKS
         LGORT
         MEINS
         NETWR  FROM EKPO INTO TABLE LT_ITEM FOR ALL ENTRIES IN LT_HEAD
         WHERE EBELN = LT_HEAD-EBELN.


end-OF-SELECTION.
PERFORM alv_build.
*&---------------------------------------------------------------------*
*&      Form  FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FIELD .
  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-FIELDNAME    = 'EBELN'.
  LS_FIELDCAT-REF_TABNAME  = 'EKKO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
  LS_FIELDCAT-COL_POS     = 0.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

   LS_FIELDCAT-FIELDNAME    = 'EBELP'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
 LS_FIELDCAT-COL_POS     = 1.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

  LS_FIELDCAT-FIELDNAME    = 'AEDAT'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
  LS_FIELDCAT-COL_POS     = 2.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

    LS_FIELDCAT-FIELDNAME    = 'MATNR'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
  LS_FIELDCAT-COL_POS     = 3.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

    LS_FIELDCAT-FIELDNAME    = 'WERKS'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-COL_POS     = 4.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

    LS_FIELDCAT-FIELDNAME    = 'LGORT'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
  LS_FIELDCAT-COL_POS     = 5.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

    LS_FIELDCAT-FIELDNAME    = 'MEINS'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
   LS_FIELDCAT-COL_POS     = 6.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

  LS_FIELDCAT-FIELDNAME    = 'NETWR'.
  LS_FIELDCAT-REF_TABNAME  = 'EKPO'.
  LS_FIELDCAT-OUTPUTLEN    = 10.
  LS_FIELDCAT-EMPHASIZE       = 'X'.
   LS_FIELDCAT-COL_POS     = 7.
  APPEND LS_FIELDCAT TO Lt_FIELDCAT.
  CLEAR  LS_FIELDCAT.

ENDFORM.                    " FIELD
*&---------------------------------------------------------------------*
*&      Form  S_UP
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GT_SORT  text
*----------------------------------------------------------------------*
FORM S_UP  USING  LT_SORT .                                         "Apply the concept here
  DATA: LS_SORT  TYPE SLIS_SORTINFO_ALV.
    CLEAR LS_SORT.
  LS_SORT-FIELDNAME = 'EBELN'.
  LS_SORT-SPOS      = 0.
  LS_SORT-UP        = 'X'.
* ls_sort-subtot    = 'X'.
  APPEND LS_SORT TO LT_SORT.


ENDFORM.                    " S_UP
*&---------------------------------------------------------------------*
*&      Form  ALV_BUILD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM ALV_BUILD .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = sy-repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
*   IS_LAYOUT                         =
   IT_FIELDCAT                        =  Lt_FIELDCAT
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
   IT_SORT                            = lt_SORT      "Apply the fieldcatlog table
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    T_OUTTAB                          = LT_ITEM
 EXCEPTIONS
   PROGRAM_ERROR                     = 1
   OTHERS                            = 2
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM.                    " ALV_BUILD





Wednesday 15 August 2012

Functional used for progress indicator in abap

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
 EXPORTING
   PERCENTAGE       = 50
   TEXT             = 'PROCESSING'.

Tuesday 7 August 2012

Bar code in smartforms


Step 1. Go To t-code se73.

Step 2 .Select the   system bar code radio button and click change .

Step 3. Press the create button in application toolbar.


Step 4.Select the new button.

Step 5: Enter the bar code name and description.

Step -6 : Supported Bar Code Symbologies:

                     under select the pdf 415 radio button. and press Ok button.
                     under that select the normal radio button.

Step-7: Press enter and finaly save the barcode in package .

Step -8 :Go To t-code smartforms. and select style radio button

Step-9: Create a character node. on the same screen 
                       
              In the tabstrip select the standard setting .under the standard setting 
 .        .  effect
          ....  barcode->name-> In that name select the bar code that u created.

Step -10.Apply the character in samrtform ex <c4>wa_item-vbeln</>.












Monday 6 August 2012

Removing selection screen execute button




AT SELECTION-SCREEN OUTPUT.

  DATA gt_ucomm TYPE TABLE OF sy-ucomm.

  APPEND'ONLI' TO gt_ucomm.

  CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
       EXPORTING
            p_status  = '%_00'  "Status GUI for screen 1000
       TABLES
            p_exclude = gt_ucomm.

Tuesday 31 July 2012

Idoc steps


Steps to be done in Source client

 1. Go to transaction SE11 -> create a table with entries.
 2. Go to transaction WE31 -> create segments as shown before. Here you have to mention all the fields mentioned in the database table.
 3. Go to transaction WE30 -> create basic IDOC type and release the segments and basic type.
 4. Go to transaction WE81 -> create message type.
 5. Go to transaction WE82 -> assign message type to basic Idoc type.
 6. Go to transaction BD64 -> Click on Display/change button          
 7. Click on Edit menu -> model view -> create      
 8. Specify description and technical name and press continue.                    
 9. Select your model view -> click edit -> Add message type                  
 10. In dialog box specify sender, receiver, and message type and continue.
 11. Click on environment menu -> generate partner profile               
  12. It will show the following screen. Select your model view and click on execute.      
  13. It will show the partner profile log in next screen.
  14. Click on back button 2 times it will take to distribution model screen.
  15. Click on Edit -> Model view -> Distribute
  16. In displayed dialog box select the partner system and continue.
   17. Then it will show the log of model view distribution.
   18. To check partner profile go to transaction WE20.
   19. Then write the report program in SE38 to create IDOC control records and transfer it to destination   partner system.
   20. Go to Transaction WE02 to check the generated IDOC control records. 



Steps to be done in Destination client

 

 

1.                            Go to transaction SE37 to create the function module for updating the table from IDOC segments.
2.                            Specify import, export and table parameters.
3.                            Go to transaction WE57 for assigning the FM to logical system. Click on Display/ change button.
4.                            Specify FM name, function type, basic type(IDOC ), message type and direction then save it.
5.                            Go to transaction BD51 to define input method for inbound function module and click on Display change button
6.                            Specify your function module and input type by clicking the new entries.
7.                            Go to transaction WE42 and  create process code.
8.                            Go to transaction BD64 and generate the partner profile again.
9.                            Got o transaction SE 38 and execute the transaction in source system (client100).
10.                       Check in destination system (client 800). Go to Transaction WE02 and check your table in SE11. (You can get the transferred entries in that table).