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).

Wednesday, 25 July 2012

Trafic lights using alv grid.

Trafic light using alv.
Based the select option value it display the trafic lights in alv grid.


TABLES: MARA.
TYPE-POOLS: SLIS,ICON.
TYPESBEGIN OF TY_MARA,
        MATNR TYPE MARA-MATNR,
        ERSDA TYPE MARA-ERSDA,
        ERNAM TYPE MARA-ERNAM,
        PSTAT TYPE MARA-PSTAT,
        MATKL TYPE MARA-MATKL,
      END OF TY_MARA.

TYPES:BEGIN OF TY_MARA1,
      ICON TYPE CHAR4.
      INCLUDE TYPE TY_MARA.

TYPESEND OF TY_MARA1.

DATA: LS_MARA TYPE TY_MARA,
      LT_MARA TYPE STANDARD TABLE OF TY_MARA,
      LS_FINAL TYPE TY_MARA1,
      LT_FINAL TYPE TABLE OF TY_MARA1,
      LT_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV,
      LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
      LS_LAYOUT  TYPE SLIS_LAYOUT_ALV,
      TEMP TYPE MARA-MATNR.



CONSTANTSprogram TYPE syrepid VALUE sy-repid.


SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.


IF SY-SUBRC EQ 0.
SELECT   MATNR
         ERSDA
         ERNAM
         PSTAT
         MATKL
         FROM MARA INTO TABLE LT_MARA .
          "WHERE MATNR IN S_MATNR.

  MESSAGE 'THE DATA FOUND' TYPE 'I'.
  ELSE.
*
*  MESSAGE 'THE DATA NOT FOUND' TYPE 'I'.
  ENDIF.

  PERFORM POP_RECORD.
  PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*&      FORM  POP_RECORD
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*  -->  P1        TEXT
*  <--  P2        TEXT
*----------------------------------------------------------------------*
FORM POP_RECORD .
LOOP AT LT_MARA INTO LS_MARA.

CLEAR TEMP.

TEMP = LS_MARA-MATNR.

IF TEMP IN S_MATNR.          "checking the selection option values
  LS_FINAL-ICON = ICON_GREEN_LIGHT.

  ELSE.


      LS_FINAL-ICON = ICON_RED_LIGHT.
*    ELSE.
*
*     LS_FINAL-ICON = ICON_YELLOW_LIGHT.

   ENDIF.



   LS_FINAL-MATNR  = LS_MARA-MATNR.
   LS_FINAL-ERSDA  = LS_FINAL-ERSDA.
   LS_FINAL-ERNAM  = LS_FINAL-ERNAM.
   LS_FINAL-PSTAT  = LS_FINAL-PSTAT.
   LS_FINAL-MATKL  = LS_FINAL-MATKL.

   APPEND LS_FINAL TO LT_FINAL.

CLEAR LS_FINAL.
ENDLOOP.
REFRESH LT_MARA.
ENDFORM.    " POP_RECORD


*&---------------------------------------------------------------------*
*&      FORM  DISPLAY
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*  -->  P1        TEXT
*  <--  P2        TEXT
*----------------------------------------------------------------------*
FORM DISPLAY .
PERFORM F_cat.

PERFORM P_LAYOUT.

PERFORM ALV.


ENDFORM.                    " DISPLAY
*
*&---------------------------------------------------------------------*
*&      FORM  P_LAYOUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*  -->  P1        TEXT
*  <--  P2        TEXT
*----------------------------------------------------------------------*
FORM P_LAYOUT .
LS_LAYOUT-ZEBRA = 'X'.
LS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

ENDFORM.                    " P_LAYOUT
*&---------------------------------------------------------------------*
*&      FORM  ALV
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*  -->  P1        TEXT
*  <--  P2        TEXT
*----------------------------------------------------------------------*
FORM ALV .


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
     I_CALLBACK_PROGRAM                = program
*     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                          =  LS_LAYOUT
     IT_FIELDCAT                        =  LT_FIELDCAT
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     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_FINAL
   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
**&---------------------------------------------------------------------*
**&      Form  FIELDCAT
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**  -->  p1        text
**  <--  p2        text
**----------------------------------------------------------------------*
*FORM FIELDCAT .

*
*ENDFORM.                    " FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  F_CAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM F_CAT .


DEFINE FCAT_MERGE.

LS_FIELDCAT-COL_POS        = &1.
LS_FIELDCAT-FIELDNAME      = &2.
IF LS_FIELDCAT-FIELDNAME   = 'ICON'.
LS_FIELDCAT-ICON         = 'X'.  " DISPLAY THE FIELD AS ICON
LS_FIELDCAT-SELTEXT_M    = 'OCCUPENCY STATUS'.   " COLUMN HEADER
LS_FIELDCAT-INTTYPE      = 'C'.
LS_FIELDCAT-OUTPUTLEN    = '4'.
ENDIF.

LS_FIELDCAT-REF_FIELDNAME  = &3.
LS_FIELDCAT-REF_TABNAME    = &4.

IF LS_FIELDCAT-FIELDNAME  = 'MATNR'.
LS_FIELDCAT-CFIELDNAME  = 'MATNR'.
LS_FIELDCAT-CTABNAME    = 'LT_FINAL'.
ENDIF.

APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.

END-OF-DEFINITION.

FCAT_MERGE '1' 'ICON' '' ''.
FCAT_MERGE '2' 'MATNR' 'MATNR' 'MARA'.
FCAT_MERGE '3' 'ERSDA' 'ERSDA' 'MARA'.
FCAT_MERGE '4' 'ERNAM' 'ERNAM' 'MARA'.
FCAT_MERGE '5' 'PSTAT' 'PSTAT' 'MARA'.
FCAT_MERGE '6' 'MATKL' 'MATKL' 'MARA'.



ENDFORM.                    " F_CAT