Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
Read only

GLPCA Archive Data

former_member213475
Participant
0 Likes
2,796

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,191

Hi Saran,

Check this report usage of read,write and delete programs:  May be helpful for you

SAPF048S

8 REPLIES 8
Read only

Former Member
0 Likes
2,192

Hi Saran,

Check this report usage of read,write and delete programs:  May be helpful for you

SAPF048S

Read only

0 Likes
2,191

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

Read only

0 Likes
2,191

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.

Read only

RaymondGiuseppi
Active Contributor
0 Likes
2,191

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

Read only

0 Likes
2,191

Hi Raymond,

In my system there were no programs mentioned above.

Read only

0 Likes
2,191

Check attachment.

Read only

0 Likes
2,191

Thanks Raymond

Read only

Former Member
0 Likes
2,191

Hi Saran,

You can refer program RGUGLPCA.

Thanks ,

Chirdip