ā2013 Dec 11 6:36 AM
Hi ,
My requirement is for the archived data. I don't know the concept properly.
In my requirement I am using the tables GLPCA, BKPF and LFA1. Based on these tables I need to call the FMs
ARCHIVE_OPEN_FOR_READ,
ARCHIVE_GET_NEXT_OBJECT,
ARCHIVE_GET_NEXT_RECORD and
ARCHIVE_CLOSE_FILE.
Please suggest me how to workon this.
Thanks.
Regards,
Saran.
ā2013 Dec 11 6:52 AM
Hi Saran,
Check this report usage of read,write and delete programs: May be helpful for you
SAPF048S
ā2013 Dec 11 6:52 AM
Hi Saran,
Check this report usage of read,write and delete programs: May be helpful for you
SAPF048S
ā2013 Dec 11 7:30 AM
Hi kiran,
Thanks for the reply. But I am not able to understand the flow.
I am writing one program . In that I need to call those fm's. How to write those FM's in my report.
Please help me. Below is my report.
*&---------------------------------------------------------------------*
*& Report ZFI_GLPCA_ARC_DATA
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zfi_glpca_arc_data NO STANDARD PAGE HEADING.
TYPE-POOLS:slis.
TABLES: glpca,
lfa1,
bkpf.
*Structure declarations.
TYPES:BEGIN OF ty_glpca,
ryear TYPE gjahr, "Fiscal Year
poper TYPE poper, "Posting period
docnr TYPE belnr_d, "Accounting Document Number
rbukrs TYPE bukrs, "Company Code
rprctr TYPE prctr, "Profit Center
racct TYPE racct, "Account number
hsl TYPE vlcur_pca, "Amount in company code currency
ksl TYPE vgcur_pca, "Amount in profit center local currency
usnam TYPE usnam, "User name
sgtxt TYPE sgtxt, "Item Text
docty TYPE docty, "FI-SL Document Type
bldat TYPE bldat, "Document Date in Document
budat TYPE budat, "Posting Date in the Document
refdocnr TYPE pca_refbelnr, "Reference Document Number (External Document Number)
werks TYPE werks_d, "Site
kostl TYPE kostl, "Cost center
aufnr TYPE aufnr, "Order number
matnr TYPE matnr, "Article Number
kunnr TYPE kunnr, "Customer Number 1
lifnr TYPE lifnr, "Account Number of Vendor or Creditor
ebeln TYPE ebeln, "Purchasing Document Number
ebelp TYPE ebelp, "Item Number of Purchasing Document
ps_psp_pnr TYPE ps_psp_pnr, "Work Breakdown Structure Element (WBS Element)
vtweg TYPE vtweg, "Distribution channel
aubel TYPE vbeln_va, "Sales Document
vbeln TYPE vbeln, "Sales and Distribution Document Number
valut TYPE valut, "Value date
blart TYPE blart, "Document type
END OF ty_glpca,
BEGIN OF ty_bkpf,
bukrs TYPE bukrs, "Company code
belnr TYPE belnr_d, "Accounting Document Number
gjahr TYPE gjahr, "Fiscal year
blart TYPE blart, "Document type
xblnr TYPE xblnr1, "Reference Document Number
END OF ty_bkpf,
BEGIN OF ty_lfa1,
lifnr TYPE lifnr, "Account Number of Vendor or Creditor
name1 TYPE name1_gp, "Name1
END OF ty_lfa1,
BEGIN OF ty_final,
blart TYPE blart, "Document type
belnr TYPE belnr_d, "Accounting Document Number
usnam TYPE usnam, "User name
bldat TYPE bldat, "Document Date in Document
budat TYPE budat, "Posting Date in the Document
poper TYPE poper, "Posting period
rprctr TYPE prctr, "Profit Center
lifnr TYPE lifnr, "Account Number of Vendor or Creditor
name1 TYPE name1_gp, "Name1
racct TYPE racct, "Account number
sgtxt TYPE sgtxt, "Item Text
xblnr TYPE xblnr1, "Reference Document Number
hsl TYPE vlcur_pca, "Amount in company code currency
ksl TYPE vgcur_pca, "Amount in profit center local currency
kostl TYPE kostl, "Cost center
aufnr TYPE aufnr, "Order number
aubel TYPE vbeln_va, "Sales Document
vbeln TYPE vbeln, "Sales and Distribution Document Number
kunnr TYPE kunnr, "Customer Number 1
werks TYPE werks_d, "Site
matnr TYPE matnr, "Article Number
ebeln TYPE ebeln, "Purchasing Document Number
ebelp TYPE ebelp, "Item Number of Purchasing Document
ps_psp_pnr TYPE ps_psp_pnr, "Work Breakdown Structure Element (WBS Element)
vtweg TYPE vtweg, "Distribution channel
valut TYPE valut, "Value date
END OF ty_final.
*Internal table and work area declarations.
DATA:it_glpca TYPE TABLE OF ty_glpca,
wa_glpca TYPE ty_glpca,
it_bkpf TYPE TABLE OF ty_bkpf,
wa_bkpf TYPE ty_bkpf,
it_lfa1 TYPE TABLE OF ty_lfa1,
wa_lfa1 TYPE ty_lfa1,
it_final TYPE TABLE OF ty_final,
wa_final TYPE ty_final,
lv_ryear TYPE ryear,
it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat TYPE slis_fieldcat_alv,
it_top TYPE slis_t_listheader,
wa_top TYPE slis_listheader,
wa_layout TYPE slis_layout_alv,
it_event TYPE slis_t_event,
wa_event TYPE slis_alv_event,
v_prog TYPE sy-repid,
v_name TYPE sy-uname,
v_lines TYPE i.
CONSTANTS:c_blart TYPE char5 VALUE 'BLART',
c_bukrs TYPE char5 VALUE 'BUKRS',
c_belnr TYPE char5 VALUE 'BELNR',
c_usnam TYPE char5 VALUE 'USNAM',
c_bldat TYPE char5 VALUE 'BLDAT',
c_budat TYPE char5 VALUE 'BUDAT',
c_poper TYPE char5 VALUE 'POPER',
c_rprctr TYPE char6 VALUE 'RPRCTR',
c_lifnr TYPE char5 VALUE 'LIFNR',
c_name1 TYPE char5 VALUE 'NAME1',
c_racct TYPE char5 VALUE 'RACCT',
c_sgtxt TYPE char5 VALUE 'SGTXT',
c_xblnr TYPE char5 VALUE 'XBLNR',
c_hsl TYPE char3 VALUE 'HSL',
c_ksl TYPE char3 VALUE 'KSL',
c_kostl TYPE char5 VALUE 'KOSTL',
c_aufnr TYPE char5 VALUE 'AUFNR',
c_aubel TYPE char5 VALUE 'AUBEL',
c_vbeln TYPE char5 VALUE 'VBELN',
c_kunnr TYPE char5 VALUE 'KUNNR',
c_werks TYPE char5 VALUE 'WERKS',
c_matnr TYPE char5 VALUE 'MATNR',
c_ebeln TYPE char5 VALUE 'EBELN',
c_ebelp TYPE char5 VALUE 'EBELP',
c_wbs TYPE char10 VALUE 'PS_PSP_PNR',
c_vtweg TYPE char5 VALUE 'VTWEG',
c_valut TYPE char5 VALUE 'VALUT',
c_final TYPE char8 VALUE 'IT_FINAL'.
INITIALIZATION.
v_prog = sy-repid.
v_name = sy-uname.
*Selection screen design
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
SELECT-OPTIONS:s_rbukrs FOR glpca-rbukrs OBLIGATORY,
s_ryear FOR glpca-ryear OBLIGATORY,
s_poper FOR glpca-poper OBLIGATORY,
s_racct FOR glpca-racct,
s_rprctr FOR glpca-rprctr,
* s_refdoc FOR glpca-refdocnr,
s_blart FOR glpca-blart,
s_xblnr FOR bkpf-xblnr.
SELECTION-SCREEN END OF BLOCK a.
*Validations
**To validate Company code.
AT SELECTION-SCREEN ON s_rbukrs.
PERFORM validate_bukrs.
**To validate Fiscal year.
AT SELECTION-SCREEN ON s_ryear.
PERFORM validate_ryear.
**To validate Posting period.
AT SELECTION-SCREEN ON s_poper.
PERFORM validate_period.
START-OF-SELECTION.
PERFORM fetch_data.
END-OF-SELECTION.
PERFORM process_data.
*Fieldcatalog declarations.
PERFORM fieldcat.
*To display Output.
PERFORM layout.
PERFORM declare_event.
PERFORM alv_output.
*Top of page.
TOP-OF-PAGE.
PERFORM top_of_page.
*&---------------------------------------------------------------------*
*& Form VALIDATE_BUKRS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM validate_bukrs .
DATA:lv_bukrs TYPE bukrs.
IF s_rbukrs IS NOT INITIAL.
SELECT bukrs
FROM t001
INTO lv_bukrs
UP TO 1 ROWS
WHERE bukrs IN s_rbukrs.
ENDSELECT.
IF lv_bukrs IS INITIAL.
MESSAGE text-002 TYPE 'E'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_BUKRS
*&---------------------------------------------------------------------*
*& Form FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fieldcat .
wa_fcat-fieldname = c_BLART.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-005.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_BELNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-006.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_USNAM.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-007.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_BLDAT.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-008.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_BUDAT.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-009.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_POPER.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-010.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_RPRCTR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-011.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_LIFNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-012.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_NAME1.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-013.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_RACCT.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-014.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_SGTXT.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-015.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_XBLNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-016.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_HSL.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-017.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_KSL.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-018.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_KOSTL.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-019.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_AUFNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-020.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_AUBEL.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-021.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_VBELN.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-022.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_KUNNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-023.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_WERKS.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-024.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_MATNR.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-025.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_EBELN.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-026.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_EBELP.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-027.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_wbs.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-028.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_VTWEG.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-029.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = c_VALUT.
wa_fcat-tabname = c_FINAL.
wa_fcat-seltext_m = text-030.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ENDFORM. " FIELDCAT
*&---------------------------------------------------------------------*
*& Form ALV_OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM alv_output .
*To display ALV output using FM.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = v_prog
* I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME =
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_event
* 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
* IR_SALV_LIST_ADAPTER =
* IT_EXCEPT_QINFO =
* I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_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_OUTPUT
*&---------------------------------------------------------------------*
*& Form LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM layout .
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
ENDFORM. " LAYOUT
*&---------------------------------------------------------------------*
*& Form DECLARE_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM declare_event .
CLEAR wa_event.
REFRESH it_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
* I_LIST_TYPE = 0
IMPORTING
et_events = it_event
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2 .
IF it_event IS NOT INITIAL.
READ TABLE it_event INTO wa_event WITH KEY name = 'TOP_OF_PAGE'.
IF sy-subrc = 0.
wa_event-form = 'TOP_OF_PAGE'.
MODIFY it_event
FROM wa_event
INDEX sy-tabix TRANSPORTING form.
ENDIF.
ENDIF.
ENDFORM. " DECLARE_EVENT
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM top_of_page .
WRITE:/ 'Report: ', v_prog,
/ 'User name: ', v_name,
/ '# of Items: ', v_lines.
ENDFORM. " TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form PROCESS_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM process_data .
LOOP AT it_glpca INTO wa_glpca.
READ TABLE it_bkpf INTO wa_bkpf WITH KEY bukrs = wa_glpca-rbukrs
gjahr = wa_glpca-ryear
BINARY SEARCH.
IF sy-subrc = 0 .
wa_final-belnr = wa_bkpf-belnr.
wa_final-xblnr = wa_bkpf-xblnr.
wa_final-blart = wa_glpca-blart.
* wa_final-docnr = wa_glpca-docnr.
wa_final-usnam = wa_glpca-usnam.
wa_final-bldat = wa_glpca-bldat.
wa_final-budat = wa_glpca-budat.
wa_final-poper = wa_glpca-poper.
wa_final-rprctr = wa_glpca-rprctr.
wa_final-racct = wa_glpca-racct.
wa_final-sgtxt = wa_glpca-sgtxt.
wa_final-hsl = wa_glpca-hsl.
wa_final-ksl = wa_glpca-ksl.
wa_final-kostl = wa_glpca-kostl.
wa_final-aufnr = wa_glpca-aufnr.
wa_final-aubel = wa_glpca-aubel.
wa_final-vbeln = wa_glpca-vbeln.
wa_final-kunnr = wa_glpca-kunnr.
wa_final-werks = wa_glpca-werks.
wa_final-matnr = wa_glpca-matnr.
wa_final-ebeln = wa_glpca-ebeln.
wa_final-ebelp = wa_glpca-ebelp.
wa_final-ps_psp_pnr = wa_glpca-ps_psp_pnr.
wa_final-vtweg = wa_glpca-vtweg.
wa_final-valut = wa_glpca-valut.
wa_final-lifnr = wa_glpca-lifnr.
ENDIF.
READ TABLE it_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_glpca-lifnr
BINARY SEARCH.
IF sy-subrc = 0 .
wa_final-name1 = wa_lfa1-name1.
ENDIF.
APPEND wa_final TO it_final.
clear : wa_final,wa_bkpf,wa_glpca,wa_lfa1 .
ENDLOOP.
DESCRIBE TABLE it_final LINES v_lines.
ENDFORM. " PROCESS_DATA
*&---------------------------------------------------------------------*
*& Form FETCH_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fetch_data .
* SELECT belnr
* bukrs
* gjahr
* blart
* xblnr
* FROM bkpf
*INTO TABLE it_bkpf
* WHERE "blart in s_blart
* xblnr IN s_xblnr.
*To fetch the data from GLPCA table.
* IF it_bkpf IS NOT INITIAL.
* SELECT ryear
* poper
* docnr
* rbukrs
* rprctr
* racct
* hsl
* ksl
* usnam
* sgtxt
* docty
* bldat
* budat
* refdocnr "Ref Dcc num
* werks
* kostl
* aufnr
* matnr
* kunnr
* lifnr
* ebeln
* ebelp
* ps_psp_pnr
* vtweg
* aubel
* vbeln
* valut
* blart
* FROM glpca
* INTO TABLE it_glpca
* FOR ALL ENTRIES IN it_bkpf
* WHERE rbukrs = it_bkpf-bukrs " Comp Code
* AND ryear = it_bkpf-gjahr "Fiscal year
* AND blart = it_bkpf-blart "Doc type
* AND poper IN s_poper "Posting period
* AND rprctr IN s_rprctr "Proft center
* AND racct IN s_racct. "Acc num
** AND refdocnr IN s_refdoc "REF doc number
SELECT ryear
poper
docnr
rbukrs
rprctr
racct
hsl
ksl
usnam
sgtxt
docty
bldat
budat
refdocnr "Ref Dcc num
werks
kostl
aufnr
matnr
kunnr
lifnr
ebeln
ebelp
ps_psp_pnr
vtweg
aubel
vbeln
valut
blart
FROM glpca
INTO TABLE it_glpca
WHERE rbukrs in s_rbukrs " Comp Code
AND ryear in s_ryear "Fiscal year
AND blart in s_blart "Doc type
AND poper IN s_poper "Posting period
AND rprctr IN s_rprctr "Proft center
AND racct IN s_racct. "Acc num
* AND refdocnr IN s_refdoc "REF doc number
*To fetch the data from LFA1 table
IF it_glpca IS NOT INITIAL.
SELECT lifnr
name1
FROM lfa1
INTO TABLE it_lfa1
FOR ALL ENTRIES IN it_glpca
WHERE lifnr = it_glpca-lifnr.
SELECT bukrs
belnr
gjahr
xblnr
FROM bkpf
INTO TABLE it_bkpf
FOR ALL ENTRIES IN it_glpca
WHERE bukrs = it_glpca-rbukrs
and gjahr = it_glpca-ryear
and blart = it_glpca-blart
AND xblnr IN s_xblnr.
ELSE.
MESSAGE 'No data found' TYPE 'E'.
ENDIF.
IF it_lfa1 IS NOT INITIAL.
SORT it_lfa1 BY lifnr.
ENDIF.
IF it_bkpf IS NOT INITIAL.
SORT it_bkpf BY bukrs gjahr.
ENDIF.
ENDFORM. " FETCH_DATA
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.
IF sy-subrc = 0.
SET PARAMETER ID 'BLN' FIELD wa_final-belnr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
*&---------------------------------------------------------------------*
*& Form VALIDATE_RYEAR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM validate_ryear .
DATA:lv_year TYPE gjahr.
IF s_ryear IS NOT INITIAL.
SELECT ryear
FROM glpca
INTO lv_year
UP TO 1 ROWS
WHERE ryear IN s_ryear.
ENDSELECT.
IF lv_year IS INITIAL.
MESSAGE text-003 TYPE 'E'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_RYEAR
*&---------------------------------------------------------------------*
*& Form VALIDATE_PERIOD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM validate_period .
DATA:lv_period TYPE poper.
IF s_poper IS NOT INITIAL.
SELECT poper
FROM glpca
INTO lv_period
UP TO 1 ROWS
WHERE poper IN s_poper.
ENDSELECT.
IF lv_period IS INITIAL.
MESSAGE text-004 TYPE 'E'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_PERIOD
ā2013 Dec 11 7:40 AM
Hi Saran,
Go the transaction AOBJ, try to find the archving objects below and double click on the objects find the program and usage of FM's.
Please find the program flow of *SBOOK*
* This is an example of how to use the ADK function modules. *
* This READ program demonstrates reporting from/analyzing archives. *
* It belongs to the archiving object BC_SBOOK based on BC_TRAVEL. *
* *
* THIS PROGRAM ALSO DEMONSTRATES HOW TO ENABLE A READ PROGRAM FOR *
* U N I C O D E. *
* Here we use TYPED field symbols to get the data back from ADK. *
*----------------------------------------------------------------------*
report sbookr.
* selections
tables: sbook.
select-options: s_carrid for sbook-carrid,
s_connid for sbook-connid,
s_fldate for sbook-fldate.
"further selections..
* data declaration
data: lt_sbook type table of sbook,
"lt_further_table type further_table.
lt_sbook_tmp type table of sbook.
data: lv_handle like sy-tabix.
field-symbols: <ls_sbook> type sbook.
* <ls_further tables> type ...,
start-of-selection.
* open existing archive files
call function 'ARCHIVE_OPEN_FOR_READ'
exporting
object = 'BC_SBOOK'
importing
archive_handle = lv_handle
exceptions
others = 1.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
* loop to get the next data object from the archive file(s)
do.
call function 'ARCHIVE_GET_NEXT_OBJECT'
exporting
archive_handle = lv_handle
exceptions
end_of_file = 1. "nur die Ausnahmen, auf die man
if sy-subrc <> 0. "wirklich reagieren will
exit.
endif.
* get data records from the data container
* SBOOK
call function 'ARCHIVE_GET_TABLE'
exporting
archive_handle = lv_handle
record_structure = 'SBOOK'
all_records_of_object = 'X'
tables
table = lt_sbook_tmp
exceptions
end_of_object = 0. "not entries of this type
* check lt_sbook_tmp entries against selections. Delete not
* requested entries
loop at lt_sbook_tmp assigning <ls_sbook>
where carrid in s_carrid
and connid in s_connid
and fldate in s_fldate.
append <ls_sbook> to lt_sbook.
endloop.
refresh lt_sbook_tmp.
* further tables
* CALL FUNCTION 'ARCHIVE_GET_TABLE'
* EXPORTING
* ARCHIVE_HANDLE = lv_handle
* RECORD_STRUCTURE = 'furhter_table_tmp'
* ALL_RECORDS_OF_OBJECT = 'X'
* TABLES
* TABLE = lt_further_table
* EXCEPTIONS
* END_OF_OBJECT = 1.
* ...
* check entries against selection criterias. Delete not
* requested entries
* ...
enddo.
* prepare data (sort etc.)
* ...
* would be better to use e.g. 'REUSE_ALV_LIST_DISPLAY'
loop at lt_sbook assigning <ls_sbook>.
write: / 'CARRID :', <ls_sbook>-carrid,
/ 'BOOKID :', <ls_sbook>-bookid,
/ 'CONNID :', <ls_sbook>-connid,
/ 'FLDATE :', <ls_sbook>-fldate,
/ 'CUSTOMID :', <ls_sbook>-customid,
/ 'ORDER_DATE:', <ls_sbook>-order_date.
skip.
* loop at lt_further_table assigning <ls_further_table>.
* write: /
* endloop.
endloop.
* close the archiving session
call function 'ARCHIVE_CLOSE_FILE'
exporting
archive_handle = lv_handle.
ā2013 Dec 11 7:15 AM
Read first the documentation of ADK (Archive Development Kit), look for Developing Read Programs.
Sample programs SBOOKR, SBOOKR_2, SBOOK_3, and SFLIGHTR (for use of archiving classes)
Regards,
Raymond
ā2013 Dec 11 7:37 AM
Hi Raymond,
In my system there were no programs mentioned above.
ā2013 Dec 11 9:30 AM
ā2013 Dec 11 11:27 AM
ā2013 Dec 11 8:04 AM