HOW TO CREATE A DRILLDOWN PROGRAM NEED EXAMPLE

HAI FRIENDS
  1  I WANT TO KNOW HOW TO CREATE A DRILLDOWN PROGRAM NEED EXAMPLE IN ABAP
  2 NEED ABAP PROGRAM EBOOK
PLZ DO IT

CHECK THIS ALV DRILL DOWN REPORT
*& Report  ZHAI_SD_CUSTOMER_DETAILS_ALV
REPORT  ZHAI_SD_CUSTOMER_DETAILS_ALV.
TYPE-POOLS: SLIS.
    TYPES DECLARATIONS
TABLES : KNA1.
DATA : BEGIN OF IT_CUST OCCURS 0,
  KUNNR LIKE KNA1-KUNNR,
  NAME1 LIKE KNA1-NAME1,
  LAND1 LIKE KNA1-LAND1,
  ORT01 LIKE KNA1-ORT01,
  STRAS LIKE KNA1-STRAS,
  PSTLZ LIKE KNA1-PSTLZ,
       END OF IT_CUST.
DATA:BEGIN OF IT_SALE OCCURS 0,
VBELN LIKE VBAK-VBELN,"SALES DOC NO
AUDAT LIKE VBAK-AUDAT,"DATE RECIEVED AND SENT
AUART LIKE VBAK-AUART,"SALES DOC LIKE
NETWR LIKE VBAK-NETWR,"NET VALUE IN DOC CURRENCY
KUNNR LIKE VBAK-KUNNR,
      END OF IT_sale.
TYPES: BEGIN OF TY_ITEM,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,"ITEM NO
MATNR TYPE VBAP-MATNR,"MATERIAL NO
CHARG TYPE VBAP-CHARG,"BATCH
MATKL TYPE VBAP-MATKL,"MATERIAL GROUP
MEINS TYPE VBAP-MEINS,"BASE UNIT OF MEASURE
END OF TY_ITEM.
SELECT-OPTIONS : S_KUNNR FOR KNA1-KUNNR.
     INTERNAL TABLES
DATA:
     IT_CUST  TYPE TABLE OF TY_CUST,
     IT_SALE  TYPE TABLE OF TY_SALE,
      IT_ITEM  TYPE TABLE OF TY_ITEM.
                   INTERNAL TABLES FOR ALV
DATA: IT_FCAT   TYPE  SLIS_T_FIELDCAT_ALV,
      IT_FCAT1  TYPE  SLIS_T_FIELDCAT_ALV,
      IT_FCAT3  TYPE SLIS_T_FIELDCAT_ALV.
DATA: IT_EVENTS TYPE TABLE OF   slis_alv_event,
      IT_EVENTS1 TYPE TABLE OF SLIS_ALV_EVENT,
      IT_EVENTS2 TYPE TABLE OF SLIS_ALV_EVENT.
DATA: IT_LISTHEADER1 TYPE SLIS_T_LISTHEADER,
      IT_LISTHEADER TYPE TABLE OF slis_listheader,
      IT_LISTHEADER3 TYPE TABLE OF SLIS_LISTHEADER,
      IT_FOOTER TYPE TABLE OF SLIS_LISTHEADER.
DATA: IT_SORT TYPE SLIS_T_SORTINFO_ALV,
      WA_SORT LIKE LINE OF IT_SORT.
                   WORK AREAS FOR ALV
DATA: WA_LAYOUT  TYPE SLIS_LAYOUT_ALV,
      WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV,
      WA_FCAT    LIKE LINE OF IT_FCAT,
      WA_FCAT1   LIKE LINE OF IT_FCAT1,
      WA_FCAT3   LIKE LINE OF IT_FCAT3,
      WA_EVENTS  LIKE LINE OF IT_EVENTS,
      WA_EVENTS1 LIKE LINE OF IT_EVENTS,
      WA_EVENTS2 LIKE LINE OF IT_EVENTS.
        WORK VARIABLES
DATA: W_REPID TYPE SY-REPID,
      W_KUNNR TYPE KNA1-KUNNR.
$$**----
   WORK  AREAS
    MACROS
DEFINE ADD_FCAT1..
WA_FCAT1-COL_POS = &1.
WA_FCAT1-FIELDNAME = &2.
WA_FCAT1-TABNAME = &3.
WA_FCAT1-REF_TABNAME = &4.
WA_FCAT1-KEY = &5.
WA_FCAT1-DO_SUM = &6.
WA_FCAT1-HOTSPOT = &7.
WA_FCAT1-EMPHASIZE = &8.
APPEND WA_FCAT1 TO IT_FCAT1.
END-OF-DEFINITION.
START-OF-SELECTION.
  PERFORM F_GET_DATA.
  PERFORM F_BUILD_FCAT.
  PERFORM F_GET_EVENTS.
  PERFORM F_BUILD_LAYOUT USING WA_LAYOUT.
  PERFORM F_GET_DISPLAY.
*&      Form  F_GET_DATA
FORM F_GET_DATA .
SELECT   KUNNR
          NAME1
          LAND1
          ORT01
          STRAS
          PSTLZ FROM KNA1
          INTO TABLE
IT_CUST WHERE KUNNR IN S_KUNNR.
ENDFORM.                    " F_GET_DATA
*&      Form  F_GET_DISPLAY
      text
-->  p1        text
<--  p2        text
FORM F_GET_DISPLAY .
CLEAR W_REPID.
MOVE SY-REPID TO W_REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     I_CALLBACK_PROGRAM                = w_repid
  I_CALLBACK_PF_STATUS_SET          = ' '
  I_CALLBACK_USER_COMMAND           = ' '
     I_CALLBACK_TOP_OF_PAGE            = 'F_TOP_OF_PAGE'
  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
  I_CALLBACK_HTML_END_OF_LIST       = ' '
  I_STRUCTURE_NAME                  =
  I_BACKGROUND_ID                   = 'DUCK'
  I_GRID_TITLE                      =
  I_GRID_SETTINGS                   =
   IS_LAYOUT                         = WA_LAYOUT
     IT_FIELDCAT                        = IT_FCAT
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
  IT_SORT                           =
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
  I_SAVE                            = ' '
  IS_VARIANT                        =
     IT_EVENTS                          = 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                          = IT_CUST
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.                    " F_GET_DISPLAY
*&      Form  F_GET_EVENTS
      text
-->  p1        text
<--  p2        text
FORM F_GET_EVENTS .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      I_LIST_TYPE     = 0
    IMPORTING
      ET_EVENTS       = IT_EVENTS
    EXCEPTIONS
      LIST_TYPE_WRONG = 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.
  SORT IT_EVENTS.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'TOP_OF_PAGE' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_TOP_OF_PAGE'.
MODIFY  IT_EVENTS  INDEX SY-TABIX FROM
WA_EVENTS TRANSPORTING FORM.
  ENDIF.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'USER_COMMAND' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_USER_COMMAND'.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX
SY-TABIX TRANSPORTING FORM.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'USER_COMMAND' BINARY SEARCH.
ENDIF.
READ TABLE IT_EVENTS INTO WA_EVENTS WITH
KEY NAME = 'END_OF_PAGE' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_END_OF_PAGE'.
MODIFY IT_EVENTS FROM WA_EVENTS
INDEX SY-TABIX TRANSPORTING FORM.
ENDIF.
ENDFORM.                    "F_GET_EVENTS
*&      Form  F_BUILD_LAYOUT
FORM F_BUILD_LAYOUT  USING P_WA_LAYOUT LIKE WA_LAYOUT .
CLEAR P_WA_LAYOUT.
P_WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
*P_WA_LAYOUT-F2CODE = '&ETA'.
*p_wa_layout-detail_popup = 'X'.
P_WA_LAYOUT-DETAIL_TITLEBAR = 'ALV REPORT'.
*P_WA_LAYOUT-CONFIRMATION_PROMPT  = 'X'.
ENDFORM.                    " F_BUILD_LAYOUT
*&      Form  F_TOP_OF_PAGE
FORM F_TOP_OF_PAGE .
refresh it_listheader.
  DATA: LS_LIST TYPE SLIS_LISTHEADER.
  LS_LIST-TYP = 'H'.
  LS_LIST-INFO = TEXT-004.
  APPEND LS_LIST TO IT_LISTHEADER.
  LS_LIST-typ = 'S'.
  LS_LIST-key = 'Date: '.
  CONCATENATE sy-datum+6(2) '.'
  sy-datum+4(2) '.'
  sy-datum(4) INTO LS_LIST-info. "todays date
  append LS_LIST to IT_LISTHEADER.
  clear: LS_LIST.
  LS_LIST-TYP = 'S'.
  LS_LIST-KEY = 'DEVELOPED:'.
  LS_LIST-INFO = SY-UNAME.
  APPEND LS_LIST TO IT_LISTHEADER.
  CLEAR LS_LIST.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = IT_LISTHEADER
      I_LOGO             = 'GLOBAL'.
ENDFORM.                    " F_TOP_OF_PAGE
*&      Form  F_BUILD_FCAT
FORM F_BUILD_FCAT .
CLEAR: W_REPID,
       IT_FCAT.
  MOVE SY-REPID TO W_REPID.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     I_PROGRAM_NAME               = W_REPID
     I_INTERNAL_TABNAME           = 'IT_CUST'
     I_INCLNAME                   = W_REPID
    CHANGING
      CT_FIELDCAT                  = IT_FCAT
EXCEPTIONS
   INCONSISTENT_INTERFACE       = 1
   PROGRAM_ERROR                = 2
   OTHERS                       = 3
  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.                    " F_BUILD_FCAT
*&      Form  F_USER_COMMAND
FORM F_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                          RS_SELFIELD TYPE SLIS_SELFIELD.
CASE  R_UCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'KUNNR'.
READ TABLE IT_CUST
INDEX RS_SELFIELD-TABINDEX.
MOVE rs_selfield-value TO W_KUNNR.
IF IT_CUST IS NOT INITIAL.
   PERFORM F_GET_SECONDARY_DATA.
   PERFORM F_BUILD_FCAT1.
   PERFORM F_BUILD_EVENTS.
   PERFORM F_GET_SORT.
   PERFORM F_BUILD_LAYOUT1.
  PERFORM F_GET_DISPLAY1.
ENDIF.
  ENDIF.
  ENDCASE.
ENDFORM.                    " F_USER_COMMAND
*&      Form  F_GET_SECONDARY_DATA
FORM F_GET_SECONDARY_DATA .
data:v_data.
SELECT  VBELN
          AUDAT
          AUART
          NETWR
KUNNR FROM VBAK INTO TABLE IT_SALE
WHERE KUNNR EQ IT_CUST-KUNNR.
  IF IT_SALE[] IS INITIAL .
   CALL FUNCTION 'POPUP_TO_CONFIRM'
     EXPORTING
      TITLEBAR                    = SY-REPID
     DIAGNOSE_OBJECT             = ' '
       TEXT_QUESTION               = 'NO SALES FOR THIS CUSTOMER'
     TEXT_BUTTON_1               = 'Ja'(001)
     ICON_BUTTON_1               = ' '
     TEXT_BUTTON_2               = 'Nein'(002)
     ICON_BUTTON_2               = ' '
      DEFAULT_BUTTON              = '1'
      DISPLAY_CANCEL_BUTTON       = 'X'
     USERDEFINED_F1_HELP         = ' '
     START_COLUMN                = 25
     START_ROW                   = 6
     POPUP_TYPE                  =
     IV_QUICKINFO_BUTTON_1       = ' '
     IV_QUICKINFO_BUTTON_2       = ' '
    IMPORTING
      ANSWER                      = v_data
   TABLES
     PARAMETER                   =
    EXCEPTIONS
      TEXT_NOT_FOUND              = 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.
case v_data.
when '2'.
leave screen.
when 'A'.
leave to screen '0'.
endcase.
  ENDIF.
ENDFORM.                    " F_GET_SECONDARY_DATA
*&      Form  F_BUILD_FCAT1
FORM F_BUILD_FCAT1 .
REFRESH IT_FCAT1.
CLEAR WA_FCAT1.
ADD_FCAT1:
'1' 'VBELN' 'VBAK' 'VBAK' 'X' ' ' 'X' 'C500',
'2' 'AUDAT' 'VBAK' 'VBAK' ' ' ' ' ' ' 'C400',
'3' 'AUART' 'VBAK' 'VBAK' ' ' ' ' ' ' 'C100',
'4' 'NETWR' 'VBAK' 'VBAK' ' ' 'X' ' ' 'C300'.
ENDFORM.                    " F_BUILD_FCAT1
*&      Form  F_GET_DISPLAY1
      text
-->  p1        text
<--  p2        text
FORM F_GET_DISPLAY1 .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     I_CALLBACK_PROGRAM                = SY-REPID
  I_CALLBACK_PF_STATUS_SET          = ' '
    I_CALLBACK_USER_COMMAND           =  'F_USER_COMMAND1'
     I_CALLBACK_TOP_OF_PAGE            = 'F_TOP_OF_PAGE1'
  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                       = IT_FCAT1
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
   IT_SORT                            = IT_SORT
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
  I_SAVE                            = ' '
  IS_VARIANT                        =
     IT_EVENTS                         = IT_EVENTS1
  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                          = IT_SALE
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.                    " F_GET_DISPLAY1
*&      Form  F_BUILD_EVENTS
FORM F_BUILD_EVENTS .
clear wa_events1.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     I_LIST_TYPE           = 0
   IMPORTING
     ET_EVENTS             = IT_EVENTS1.
EXCEPTIONS
  LIST_TYPE_WRONG       = 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.
  SORT IT_EVENTS1.
  read table It_events1 with key name = 'TOP_OF_PAGE'
  into WA_eventS1.
  if sy-subrc = 0.
    move 'F_TOP_OF_PAGE1' to WA_EventS1-form.
    append WA_eventS1 to it_events1.
  endif.
  READ TABLE IT_EVENTS WITH KEY NAME = 'USER_COMMAND'
  INTO WA_EVENTS1.
  IF SY-SUBRC = 0.
  MOVE 'F_USER_COMMAND1' TO WA_EVENTS1-FORM.
  APPEND WA_EVENTS1 TO IT_EVENTS1.
  ENDIF.
*READ TABLE IT_EVENTS WITH KEY NAME = 'SUBTOTAL_TEXT'
INTO WA_EVENTS1.
IF SY-SUBRC = 0.
MOVE 'F_SUBTOTAL_TEXT' TO WA_EVENTS1-FORM.
APPEND WA_EVENTS1 TO IT_EVENTS1.
ENDIF.
ENDFORM.                    " F_BUILD_EVENTS
*&      Form  F_TOP_OF_PAGE1
FORM F_TOP_OF_PAGE1 .
DATA: LS_HEADER TYPE SLIS_LISTHEADER.
REFRESH : IT_LISTHEADER1.
  LS_HEADER-TYP = 'H'.
  LS_HEADER-INFO = 'SALES ORDER DETAILS FOR CUSTOMER'.
  APPEND LS_HEADER TO it_listheader1.
  CLEAR LS_HEADER.
  LS_HEADER-TYP  = 'S'.
  LS_HEADER-KEY = 'CUSTOMER NO:'.
  LS_HEADER-INFO = W_KUNNR.
  APPEND LS_HEADER TO IT_LISTHEADER1.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY       = IT_LISTHEADER1
     I_LOGO                   = 'DUCK'
  I_END_OF_LIST_GRID       =
  I_ALV_FORM               =
ENDFORM.                    " F_TOP_OF_PAGE
*&      Form  F_END_OF_PAGE
      text
-->  p1        text
<--  p2        text
FORM F_END_OF_PAGE .
DATA:LS_FOOTER TYPE SLIS_LISTHEADER.
LS_FOOTER-TYP = 'S'.
LS_FOOTER-KEY = SY-UNAME.
LS_FOOTER-INFO = 'DEVELOPED BY:'.
APPEND LS_FOOTER TO IT_FOOTER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       = IT_FOOTER
ENDFORM.                    " F_END_OF_PAG
*&      Form  F_USER_COMMAND1
      text
-->  p1        text
<--  p2        text
FORM F_USER_COMMAND1 USING R_UCOMM LIKE SY-UCOMM
                           RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_SALE INDEX RS_SELFIELD-TABINDEX.
PERFORM F_GET_SECONDARY2.
PERFORM F_GET_FCAT3 USING:
'VBELN' '1' 'C' '12' 'SALES_DOC'   'M'  'VBAP' 'X' 'C51' ' ',
'POSNR' '2' ' '  '5' 'ITEM_NO'      'M'  'VBAP' ' ' 'C61' ' ',
'MATNR' '3' ' '  '12' 'MATERIAL_NO' 'M'  'VBAP' ' ' 'C71' ' ',
'CHARG' '4' ' ' '10' 'BATCH_NO'    'M'  'VBAP' ' ' 'C41' ' ',
'MATKL' '5' ' ' '10' 'MAT_GROUP'   'M'  'VBAP' ' ' 'C31' ' ',
'MEINS' '6' ' ' '12' 'BASE_UNIT'   'M'  'VBAP' ' ' 'C21' 'X' .
PERFORM F_GET_EVENTS2 USING WA_EVENTS2
                     CHANGING IT_EVENTS2.
PERFORM F_GET_DISPLAY3.
REFRESH IT_FCAT3.
ENDCASE.
ENDFORM.                    " F_USER_COMMAND1
*&      Form  F_GET_SECONDARY2
      text
-->  p1        text
<--  p2        text
FORM F_GET_SECONDARY2 .
SELECT VBELN
       POSNR
       MATNR
       MATKL
       MEINS
       FROM VBAP INTO
       TABLE IT_ITEM WHERE
       VBELN EQ IT_SALE-VBELN.
IF SY-DBCNT EQ 0.
MESSAGE E000(ZHAI) WITH TEXT-KO1.
ENDIF.
ENDFORM.                    " F_GET_SECONDARY2
*&      Form  F_GET_DISPLAY3
      text
-->  p1        text
<--  p2        text
FORM F_GET_DISPLAY3 .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
   I_CALLBACK_PROGRAM                = SY-REPID
   I_CALLBACK_PF_STATUS_SET          = 'F_PF_STATUS'
  I_CALLBACK_USER_COMMAND           = ' '
  I_CALLBACK_TOP_OF_PAGE            = 'F_TOP_OF_PAGE3'
   I_CALLBACK_HTML_TOP_OF_PAGE       = 'F_TOP_OF_PAGE3'
  I_CALLBACK_HTML_END_OF_LIST       = ' '
  I_STRUCTURE_NAME                  =
  I_BACKGROUND_ID                   = ' '
  I_GRID_TITLE                      =
  I_GRID_SETTINGS                   =
   IS_LAYOUT                         = WA_LAYOUT1
   IT_FIELDCAT                       = IT_FCAT3
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
  IT_SORT                           = IT_SORT
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
  I_SAVE                            = ' '
  IS_VARIANT                        =
   IT_EVENTS                         = IT_EVENTS2
  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                          = IT_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.                    " F_GET_DISPLAY3
*&      Form  F_GET_FCAT3
FORM F_GET_FCAT3  USING    VALUE(P1)
                           VALUE(P2)
                           VALUE(P3)
                           VALUE(P4)
                           VALUE(P5)
                           VALUE(P6)
                           VALUE(P7)
                           VALUE(P8)
                           VALUE(P9)
                          VALUE(P10).
CLEAR WA_FCAT3.
  WA_FCAT3-FIELDNAME = P1.
  WA_FCAT3-COL_POS = P2.
  WA_FCAT3-JUST = P3.
  WA_FCAT3-OUTPUTLEN = P4.
  WA_FCAT3-SELTEXT_M  = P5.
  WA_FCAT3-DDICTXT = P6.
  WA_FCAT3-REF_TABNAME = P7.
  WA_FCAT3-HOTSPOT = P8.
  WA_FCAT3-EMPHASIZE = P9.
  WA_FCAT3-DO_SUM  = P10.
  APPEND WA_FCAT3 TO IT_FCAT3.
ENDFORM.                    " F_GET_FCAT3
*&      Form  F_BUILD_LAYOUT1
      text
-->  p1        text
<--  p2        text
FORM F_BUILD_LAYOUT1 .
WA_LAYOUT1-totals_text = 'TOTAL'.
wa_layout1-detail_popup = 'X'.
ENDFORM.                    " F_BUILD_LAYO
*&      Form  F_GET_EVENTS2
      text
     -->P_IT_EVENTS2  text
     <--P_WA_EVENTS2  text
FORM F_GET_EVENTS2  USING    VALUE(P_WA_EVENTS2) LIKE WA_EVENTS2
                    CHANGING P_IT_EVENTS2 LIKE IT_EVENTS2.
P_WA_EVENTS2-NAME = 'HTML_TOP_OF_PAGE'.
P_WA_EVENTS2-FORM = 'F_TOP_OF_PAGE3'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
P_WA_EVENTS2-NAME = 'PF_STATUS'.
P_WA_EVENTS2-FORM = 'F_PF_STATUS'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
P_WA_EVENTS2-NAME = 'USER_COMMAND'.
P_WA_EVENTS2-FORM = 'F_USER_COMMAND3'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
p_wa_events2-name = 'HTML_END_OF_LIST'.
P_WA_EVENTS2-FORM = 'F_HTML_END_OF_LIST'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR p_wa_events2.
ENDFORM.                    " F_GET_EVENTS2
*&      Form  F_TOP_OF_PAGE3
      text
-->  p1        text
<--  p2        text
FORM F_TOP_OF_PAGE3 USING DOCUMENT TYPE REF TO cl_dd_document .
data : link_area type ref to cl_dd_area,
       picture_area type ref to cl_dd_area.
CALL METHOD DOCUMENT->ADD_TEXT
  EXPORTING
    TEXT          = 'ALV REPORT'
   TEXT_TABLE    =
   FIX_LINES     =
   SAP_STYLE     =
    SAP_COLOR     = cl_dd_area=>list_background_int
    SAP_FONTSIZE  = 'LARGE'
    SAP_FONTSTYLE = 'TIMES'
    SAP_EMPHASIS  = 'STRONG'
   STYLE_CLASS   =
CHANGING
   DOCUMENT      =
CALL METHOD DOCUMENT->NEW_LINE.
CALL METHOD DOCUMENT->ADD_PICTURE
  EXPORTING
    PICTURE_ID       = 'LOGO1'
    WIDTH            = '10%'
ENDFORM.                    " F_TOP_OF_PAGE3
*&      Form  F_GET_SORT
      text
-->  p1        text
<--  p2        text
FORM F_GET_SORT .
WA_SORT-FIELDNAME = 'NETWR'.
WA_SORT-SPOS  = 4.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
ENDFORM.                    " F_GET_SORT
*&      Form  F_PF_STATUS
      text
-->  p1        text
<--  p2        text
FORM F_PF_STATUS USING RS_EXTAB TYPE SLIS_T_EXTAB .
SET PF-STATUS 'ZHAIALV' EXCLUDING RS_EXTAB.
ENDFORM.                    " F_PF_STATUS
*&      Form  F_USER_COMMAND3
      text
-->  p1        text
<--  p2        text
FORM F_USER_COMMAND3 USING R_UCOMM LIKE SY-UCOMM
                           RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&SALE'.
IF RS_SELFIELD-FIELDNAME = 'VBELN'.
SET parameter ID 'AUN' FIELD rs_selfield-value.
CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.
ENDIF.
WHEN '&MAT'.
IF RS_SELFIELD-FIELDNAME = 'MATNR'.
SET PARAMETER ID 'MAT' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.                    " F_USER_COMMAND3
*&      Form  F_HTML_END_OF_LIST
      text
-->  p1        text
<--  p2        text
FORM F_HTML_END_OF_LIST USING DOCUMENT TYPE REF TO CL_DD_DOCUMENT.
DATA : PAGE TYPE SDYDO_TEXT_ELEMENT.
MOVE SY-PAGNO TO PAGE.
CALL METHOD DOCUMENT->ADD_TEXT
  EXPORTING
    TEXT          = PAGE
   TEXT_TABLE    =
   FIX_LINES     =
   SAP_STYLE     =
   SAP_COLOR     =
   SAP_FONTSIZE  =
   SAP_FONTSTYLE =
   SAP_EMPHASIS  =
   STYLE_CLASS   =
CHANGING
   DOCUMENT      =
ENDFORM.                    " F_HTML_END_OF_LIS

Similar Messages

  • How to create a  schedule program in java

    Hello Friends ,
    Can any one provide me with an example how to create a schedule program using java.util.timer etc . I am in need of a program which should run as a schedule job that searches for a file in a directory and read the latest files from that directory in every minute of time as a schedule job .
    Thanks
    mahesh

    I don't feel like writing my own example, but google will be happy to provide you with an example.

  • How to creat a Dialer Program in Java

    Help me in creating a Dialer program which dials to a specifie ISP.It should work like the Dialer provided in windows.Help!! Can we code such a program in JAVA.If yes, HOW!!!!
    Abhishek([email protected])

    Get the Java Communications package - javax.comm (comm.jar)
    This will give you access to Windows/Solaris serial (and parallel) ports from Java.
    You then need some simple modem handling to perform the dial and initial handshake.
    Steve

  • How to create a BDC program for given recording.

    i have to create a BDC program for uploading a file.
    currently i am using call function
      CALL FUNCTION 'F4_FILENAME'

    just check out the code below  it  is  for  updating two transactions
                           types Declaration                      *
    types: begin of t_tab1 ,
                vendor(10),
                material(18),
                pur_org(4),
                wglif(18),
          end of t_tab1.
                  Data Declaration                                 *
    data : begin of it_tab5 occurs 0,
              vendor(10),
              material(18),
             end of it_tab5.
    **DATA : BEGIN OF IT_TAB6 OCCURS 0,
             VENDOR(10),
             MATERIAL(18),
            END OF IT_TAB6.
    data: it_tab1 type standard table of t_tab1 with header line.
    data: wa_tab1 type t_tab1.
    data: wa_tab2 type t_tab1.
    data: it_tab3 like bdcdata occurs 0 with header line.
    data: it_tab4 like bdcdata occurs 0 with header line.
    data: it_tab2 type table of bdcmsgcoll with header line.
    data: d_file_name like ibipparms-path,
          d_file_name1 type string.
                       Start-of-selection                        *
    start-of-selection.
    FM for finding the flat file
      call function 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME        = SYST-CPROG
      DYNPRO_NUMBER       = SYST-DYNNR
      FIELD_NAME          = ' '
       importing
         file_name           = d_file_name.
      d_file_name1 = d_file_name.
    ******FM for uploading data from flat file into internal table
      call function 'GUI_UPLOAD'
        exporting
          filename                      = d_file_name1
         filetype                      = 'ASC'
      HAS_FIELD_SEPARATOR           = ' '
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        tables
          data_tab                      = it_tab5
    exceptions
       file_open_error               = 1
       file_read_error               = 2
       no_batch                      = 3
       gui_refuse_filetransfer       = 4
       invalid_type                  = 5
       no_authority                  = 6
       unknown_error                 = 7
       bad_data_format               = 8
       header_not_allowed            = 9
       separator_not_allowed         = 10
       header_too_long               = 11
       unknown_dp_error              = 12
       access_denied                 = 13
       dp_out_of_memory              = 14
       disk_full                     = 15
       dp_timeout                    = 16
       others                        = 17.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
                     End-of-selection                         *
    end-of-selection.
      sort it_tab5 by vendor.
      loop at it_tab5.
        perform bdc_dynpro using 'SAPLBG00'  0101 .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_dynpro using 'SAPLBG00'  1000 .
        perform bdc_field using 'BDC_OKCODE' '=BUCH' .
        perform bdc_field using 'BDC_SUBSCR'
        'SAPLBG00                                1101KOPF_1000'.
        perform bdc_field using 'GBGMK-GAART' '2' .
        perform bdc_field using 'GBGMK-GAERB' 'X' .
        perform bdc_field using 'BDC_SUBSCR'
          'SAPLBG00                          1103TAB_SUB_1000'.
        perform bdc_field using 'BDC_CURSOR' 'GBGMP-LSTNR(01)' .
        perform bdc_field using 'GBGMP-LSTNR(01)' it_tab5-material .
       call transaction 'BGM1' using it_tab3 mode 'E' messages into it_tab2
        refresh it_tab3.
        wa_tab1-pur_org = 'ABCP'.
        loop at it_tab2.
        endloop.
        perform bdc_dynpro using 'SAPMM06I'  0100 .
        perform bdc_field using 'BDC_CURSOR' 'EINE-EKORG' .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_field using 'EINA-LIFNR' it_tab5-vendor .
        perform bdc_field using 'EINA-MATNR' it_tab5-material .
        perform bdc_field using 'EINE-EKORG' wa_tab1-pur_org .
        perform bdc_field using 'RM06I-NORMB' 'X' .
        perform bdc_dynpro using 'SAPMM06I'  0101 .
        perform bdc_field using 'BDC_CURSOR' 'EINA-WGLIF' .
        perform bdc_field using 'BDC_OKCODE' '=BU' .
        perform bdc_field using 'EINA-WGLIF' it_tab2-msgv1 .
        call transaction 'ME12' using it_tab3 mode 'E'.
        refresh it_tab3.
        refresh it_tab2.
      endloop.
    *&      Form  BDC_DYNPRO
         Start new screen
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_dynpro  using   program
                             dynpro.
      clear it_tab3.
      it_tab3-program  = program.
      it_tab3-dynpro   = dynpro.
      it_tab3-dynbegin = 'X'.
      append it_tab3.
    endform.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
       Insert field
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_field  using    fnam
                             fval.
      clear it_tab3.
      it_tab3-fnam = fnam.
      it_tab3-fval = fval.
      append it_tab3.
    endform.                    " BDC_FIELD
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 6:20 PM

  • How to create an online program according to the specification mentioned be

    Create an online program according to the specifications mentioned below.
    Initial screen:          9000
    Screen 9000:       next screen = 9001
    As you are creating this online program, try to identify each component you are creating: radio buttons, check boxes, frames, and pushbuttons. 
    The u201CInstructoru201D input/output template should be 30-length character field.  The u201CEvaluationu201D input/output template should be a scrollable field with a defined length of 60 characters and a visible length of 30 characters.  The u2018Submit Evaluationu2019 pushbutton should have an icon and be assigned the function code u201CEVALu201D. The radio button group should have only one selected as shown in screen below.

    There must be something fundamentally wrong with you.
    Previous posts by have been blocked yet you still continue to post nonsense. I suspect this time round though your account will be deleted.
    Calling all moderators! Show this guy the door please and not to return.

  • How to create WWWBinaryFileAsset through programming

    Hi, Could anybody provide me steps to create WWWBinaryFileAsset through programming.
    I followed below steps but i am getting error,
    MutableRepository pubRepository = getPublishingRepository();
    // pub repository is pointing to /atg/epub/file/SecuredPublishingFileRepository
    wwwBinaryFileAsset = pubRepository.createItem(filesProperties.getWwwBinaryFileAssetItemDescriptorName());
         if (wwwBinaryFileAsset != null) {
         wwwBinaryFileAsset.setPropertyValue(filesProperties.getFilenamePropertyName(), imageName);
         wwwBinaryFileAsset.setPropertyValue(filesProperties.getParentFolderPropertyName(), parentFolder);
         wwwBinaryFileAsset.setPropertyValue("content", new File("D:\\media\\images\\hmc\\Penguins.jpg"));
         pubRepository.addItem(wwwBinaryFileAsset);
    Thanks,
    Raj

    Hi,
    I am able to create project and adding binary file asset to the project with code as i copy/pasted in this query, after creation, also i am able to see the asset in BCC editor as well.
    I can say asset looks like as it was created in BCC editor, means there are nodifferences in assest properties which created through programming from asset created in BCC editor.
    I am not sure what i am missing. But only the problem is, i am getting the error when deploying project from BCC, error stack trace is,
    /atg/epub/DeploymentServer 14000002:Production:atg.deployment.adapter.DistributedDeploymentAdapter.pollTillDataApplied(DistributedDeploymentAdapter.java:2588) Polling Until Data Appplied
    /atg/deployment/DeploymentManager Starting deployment with id: 14000002
    /atg/deployment/DeploymentManager Executing deployment in LOCAL mode
    /atg/deployment/DeploymentManager item = fileMarker:mark7800001 cause = java.lang.IllegalArgumentException: Negative initial size: -1
    /atg/deployment/DeploymentManager at java.io.ByteArrayOutputStream.<init>(ByteArrayOutputStream.java:57)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileDeploymentCommandImpl.getUncompressedInputStream(FileDeploymentCommandImpl.java:398)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileDeploymentCommandImpl.getInputStream(FileDeploymentCommandImpl.java:470)
    /atg/deployment/DeploymentManager at atg.deployment.file.DeploymentProtocolImpl.sendFileDeploymentCommand(DeploymentProtocolImpl.java:913)
    /atg/deployment/DeploymentManager at atg.deployment.file.DeploymentProtocolImpl.sendCommand(DeploymentProtocolImpl.java:179)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileWorkerThread.runCommand(FileWorkerThread.java:716)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileWorkerThread.processMarkerForAddUpdatePhase(FileWorkerThread.java:441)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.processMarkerPhase(DeploymentWorkerThread.java:521)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.run(DeploymentWorkerThread.java:300)
    /atg/deployment/DeploymentManager message = Deployment Failed time = Wed Jun 20 09:12:50 IST 2012 atg.deployment.DeploymentFailure@93d841 java.lang.IllegalArgumentException: Negative initial size: -1
    /atg/deployment/DeploymentManager at java.io.ByteArrayOutputStream.<init>(ByteArrayOutputStream.java:57)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileDeploymentCommandImpl.getUncompressedInputStream(FileDeploymentCommandImpl.java:398)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileDeploymentCommandImpl.getInputStream(FileDeploymentCommandImpl.java:470)
    /atg/deployment/DeploymentManager at atg.deployment.file.DeploymentProtocolImpl.sendFileDeploymentCommand(DeploymentProtocolImpl.java:913)
    /atg/deployment/DeploymentManager at atg.deployment.file.DeploymentProtocolImpl.sendCommand(DeploymentProtocolImpl.java:179)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileWorkerThread.runCommand(FileWorkerThread.java:716)
    /atg/deployment/DeploymentManager at atg.deployment.file.FileWorkerThread.processMarkerForAddUpdatePhase(FileWorkerThread.java:441)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.processMarkerPhase(DeploymentWorkerThread.java:521)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.run(DeploymentWorkerThread.java:300)
    /atg/deployment/DeploymentManager
    /atg/deployment/DeploymentManager Unexpected error occurred. DeploymentWorkerThread terminated prematurely. atg.deployment.DistributedDeploymentException: Exceeded allowable error count (0)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.processMarkerPhase(DeploymentWorkerThread.java:626)
    /atg/deployment/DeploymentManager at atg.deployment.DeploymentWorkerThread.run(DeploymentWorkerThread.java:300)
    Thanks.
    Edited by: 938890 on Jun 19, 2012 9:09 PM

  • How to create Add-On program for SAP Business One 2007

    Hi,
    When I create my Add-On into SBO I have some issues.
    Which program do I use to create an Add-On into SBO?
    Is there a URL or Path where I find the program?
    I am using a 2003 program which is built by my colleague.
    I assume SAP provide the Add-On program for SAP Business One 2007
    Thank you,
    Rune

    Rune,
    At a high level ...
    1) VS2005
    2) Compile your program
    3) Generate and Add-on Identifier
    4) Create a registration datafile
    5) Create the setup program consisting of your .EXE and the .ARD file
    6) Add-On is created and running in SBO
    Again ... the details on deploying and packaging your add-on can be found in the SAP Business One SDK Help Center Documentation and the SDK eLearning.
    Also, you can use B1DE using the Simple Installer or Professional Installer will do most of the work for you after you have coded the add-on.
    Eddy
    Edited by: Edward Neveux on Jan 30, 2008 9:11 PM

  • Reg: How to create Variants for program SAPF120

    Hi SAP gurus,
    How to create variants for programm SAPF 120.
    with regards
    JK rao

    Hi,
    I suppose you intend to include 22 more Recurring Documents in the F.14 screen in an existing variant. Please check if these 22 are Recurring Docs in FBD3. And make sure that all 48 are appearing in the Document Number (Multiple Selection) tab of F.14. You can test (in a test system) by executing after inclusion and not necessarily saving as variant to make sure that BI session includes all 48 docs.
    Rgds.

  • How to create a labview program and use it as a compiled prgram

    I am a mechanical engineer, and I have some formulas and equations that I used to obtain maximum thickness of pipelines and also in the design of steel structures, what I need now is to use Labview to put these huge number of formulas in one program. I can do that, but the problem after I make the program I want it to be used by anybody on  any PC which is not installed Labview on it, and that is the problem, I don't know if I can make an excel  sheet or something to be the interface that can be used by the user, and if I can, I hope that I can have the details of who to execute that.

    LabVIEW interacts with Microsoft Excel using its Active X hooks. Anything Microsoft has exposed in the Active X API, LabVIEW can do. This includes opening Excel, reading values, writing values, etc. Doing this can be tricky for a novice programmer and NI has created the Report Generation Toolkit for Microsoft Office that plugs into LabVIEW for a more streamlined experience. 
    The Developer Zone is a good place to start a search looking for Active X Excel examples: http://zone.ni.com/devzone/fn/p/sn/n16:en/sb/navsRel?q=microsoft+excel+labview&x=0&y=0
    As well as the Forum: http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=2391 
    Reading and writing to an open Excel file could become quite cumbersome however. If the Excel file is open and the user is interacting with it, writing to that same file will return an error saying that the file is currently open. It would have to end up like this: User opens file, modifies some fields, saves file and closes excel. LabVIEW program opens file, reads fields and writes a result, then opens Excel to display to the user the result.
    Is there any specific reason you want to use Excel as your user interface? You can use the front panel of a LabVIEW application to enter the data and display the results, all while writing this data to an Excel file for logging/reference in the future. 
    Message Edited by Stephen B on 11-17-2008 01:26 PM
    Stephen B

  • How to create a IDOC program

    Hi All
    i have a requirement where i have to design a screen program to provide the user with a input screen. The user will input data on this screen, after the user enters the data and clicks on execute or some button on the module screen the system must generate a IDOC in the system. This IDOC will be picked up from another program within the same system.The reason we are doing this is the other program cannot be changed and it can accept only an IDOC from the external system which we are going to eliminate.
    My Questions:
    1. What are the steps in this requirement
    2. Do we require the partner profile and port and logical system definition as i am going to create a IDOC in the same system.( i am not sending the IDOC out of the system)
    3. Can i use the MASTER_IDOC_DISTRIBUTE FM to create a IDOC in the database?
    4. Can i use IDOC_CREATE_ON_DATABASE FM to do the same job?
    please guide me with deatils on how to go about this. Thanks
    ~Suresh

    Hi Suresh,
    First try to create a Module pool program.
    Assign the tcode to the IDOC.
    or else get the data into IDOC segment and try to transfer it.
    Creation of IDoc
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Create IDOC Type
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    u can also check all these links related to idocs
    http://www.allsaplinks.com/idoc_sample.html
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sappoint.com/abap.html
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseCategory/0,295197,sid63_tax296858_idx0_off50,00.html
    http://sap.ittoolbox.com/documents/popular-q-and-a/extending-a-basic-idoc-type-2358
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/6b7eee43d711d1893e0000e8323c4f/frameset.htm
    /thread/199996 [original link is broken]
    Regards,
    Priyanka.

  • How to create an extract program?

    Hi guys!,
    -I'm trying to create a program to extract data from Customer Master tables.
    -I need to join 7 tables with 64 fields in total.
    -What is the better way to create the program? (Using FOR ALL ENTRIES statement?)
    1. I'm thinking create 8 structures. (1 for each CM table and other for the final Internal table)
    2. Then create 8 internal tables (1 for each CM table and other for the final Internal table), and using the FOR ALL ENTRIES statement for join them.
    3. Then I'll create the Selects for populate the internal tables.
    4. Final CALL FUNCTION = GUI_DOWNLOAD  to download the data into a file.
    But I don't know if it is the most efficient way, and I have doubts in step 2 and 3.

    Rafeal,
    Go to SE38 editor and press F1 on FOR ALL ENTRIES, you will get wonderful explanation on how to use it.
    Alternatively, you can search SDN Forums always for these kind of basic questions.
    Thanks,
    Babu Kilari

  • How to create a simple program

    I downloaded JBuilder Foundation and it looks very complicated. I thought I could start a new project like you can in C++ Builder and choose "console application" and it would bring you to the code window with nothing in it or perhaps just a header file or two. But when I create a new project it brings me to a code window with a whole bunch of complicated code already there. And I don't understand any of it. Really what I want to be able to do is start a new project and just type this into the code window:
    public class Welcome1 {
    public static void main(String args[ ])
    System.out.println("Welcome to Java!");
    And then click Run and it outputs:
    Welcome to Java!
    But I don't know how to do that in this JBuilder. I may need to switch to another IDE or maybe just download a text editor and the Java SDK. If you can tell me what I should do that would be good. Thanks

    download a text editor and the Java SDK.I'd recommend that. It's easy to learn an IDE afterwards, but many people are incapable of writing and compiling code without an IDE because they don't know how javac works etc.
    For simple programs a text editor is more than enough, then once you get your head around the classpath, you're home free!

  • How to create a new role : Need to send notifications to multiple users.

    Hi All,
    I have a requirement where in I need to send notifications to multiple users
    and no. of users in the list is not fixed.i.e. this builds up dynamically.
    Kindly let me know how do I achieve this.
    Also wanted to know where form the Workflow roles get created i.e. who inserts data into wf_roles and wf_user_roles tables. Is there any UI to create roles and associate users with them.
    Thanks,

    Hi,
    Yes - by default all responsibilities are defined as roles in the Workflow directory. You just need to identify the role that corresponds to the responsibility (look at ORIG_SYSTEM and ORIG_SYSTEM_ID columns, IIRC) and then send the notification to the role.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • How to create a customer program for "PPMOD"feature(pe03)?

    Hi,
    I want to create customer program for "PPMOD"feature(tcode:pe03),who can tell me the steps? (ECC6.0)
    thanks a lot?
    Olivia Yang

    Hi,
    /1PAPA/FEAT610PPMOD the generated program for the feature.
    You are forbidden to change this generated program. Ideally whatever logic regarding the feature needs to be put through pe03 tcode of feature and not in the program.
    Still if there are any changes that need to be done to the program you can enhance the program.
    To enhance the program you need to go to se 38 and open this program and press Shift + F4
    Then Goto->Enhancement operations->Show implicit enhancement operations
    Then go to yellow line right click on mouse and Enhancement implementation->Create
    And put your own code in the implementation.
    Regards,
    Divya

  • How to create a Concurrent Program around a java class

    Can anyone give me the steps I need to register a concurrent program based on a java class?
    I have a java class that basically opens a jdbc connection, reads values from a table, decompresses one column, and sends all info to XML Gateway. I just need to know how to deploy this thing.
    Thanks.
    -Jason

    Check Metalink Note:305710.1

Maybe you are looking for

  • How-to add Flash Player 9 to Flash Pro CC - (PC & MAC)

    Howdy - I wanted to compile all of the helpful information regarding lack of Flash 9 support in Adobe Flash Pro CC. As you know that Flash 9 is still required for a majority of flash adverts and the DFP platform is especially critical of the flash ve

  • CS6 Wont load (Quicktime?)

    Hi Everyone I Just installed the After Effects cs6 Trial And It Worked, then I Closed It Then An Hour later i re-opened it and it Told me Quicktime Wasn't installed, But it was (Quicktime 7). Then i Clicked Dont Show Me Again And Ok Then A Few Second

  • Report Painter-WBS

    Dear Gurus, We need the report  with the general data selecter parameter as listed below. Version Period from Period to Year Profit Centerfrom Profit Centet to Profit Center Group Wbs from WBS to WBS Group which library it is useful for me and kindly

  • Help! Address Book search is broken (on MacBook)

    The search function on Address Book no longer works on my MacBook running 10.7.5 There seem to be a number of other related problems. Two of them are: - Contacts won't open - Difficult to create new contacts - Difficult to delete cards It would be to

  • OAS HTTPS - error?

    I set up SSL authentication on one OAS listener, then I build and install OAS sample servlets ( ListSamples, SnoopServlet & etc.). When I fire SnoopServlet, it write: Server port 443 Remote user null URL scheme https Authorization scheme null I think