Professional Documents
Culture Documents
Field Symbol
Field Symbol
The new ABAP object extensions in SAP require internal table definitions to
look a little different. With this new style of definition comes many options
for better performance like hash tables and sorted tables. The use of field
symbols takes this performance concept one step further.
3) Refer to the field symbol's fields in the loop or after the read.
wa_zpartner-vkorg = <it_vbak_line>-vkorg.
wa_zpartner-vtweg = <it_vbak_line>-vtweg.
wa_zpartner-spart = <it_vbak_line>-spart.
wa_zpartner-kunag = <it_vbak_line>-kunnr.
wa_zpartner-kunwe = <it_vbpa_line>-kunnr.
See the code example below for further detail. The code was written in R/3
4.6C and should work for all 4.x versions.
Code
REPORT z_cnv_zshipto_from_hist NO STANDARD PAGE HEADING
LINE-SIZE 132
LINE-COUNT 65
MESSAGE-ID z1.
************************************************************************
* Program Name: ZSHIPTO from History Creation: 07/23/2003 *
* *
* SAP Name : Z_CNV_ZSHIPTO_FROM_HIST Application: SD *
* *
* Author : James Vander Heyden Type: 1 *
*______________________________________________________________________*
* Description : This program reads tables VBAK & VBPA and populates *
* ZPARTNER. ZPARTNER table is read in by ZINTSC06. ZINTSC06 updates *
* the ZSHIPTO relationships. *
*______________________________________________________________________*
* Inputs: Selection Screen *
* *
* Outputs: *
*______________________________________________________________________*
* External Routines *
* Function Modules: *
* Transactions : *
* Programs : *
*______________________________________________________________________*
* Return Codes: *
* *
*______________________________________________________________________*
* Ammendments: *
* Programmer Date Req. # Action *
* ================ ========== ====== ===============================*
* J Vander Heyden 07/23/2003 PCR Initial Build *
************************************************************************
*----------------------------------------------------------------------*
* DATA DICTIONARY TABLES *
*----------------------------------------------------------------------*
TABLES:
zpartner.
*----------------------------------------------------------------------*
* SELECTION SCREEN LAYOUT *
*----------------------------------------------------------------------*
PARAMETERS: p_load RADIOBUTTON GROUP a1 DEFAULT 'X',
p_deltab RADIOBUTTON GROUP a1.
SELECTION-SCREEN SKIP 2.
*----------------------------------------------------------------------*
* INTERNAL TABLES *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* STRUCTURES *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* VARIABLES *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* CONSTANTS *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* SELECTION-SCREEN HELP *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* INITIALIZATION *
*----------------------------------------------------------------------*
INITIALIZATION.
*----------------------------------------------------------------------*
* AT LINE SELECTION *
*----------------------------------------------------------------------*
AT LINE-SELECTION. “In at line-selection system defined fcode will be generated
“In at user-command we need to define the fcode and fkey manually then only
“it will triggers.
*----------------------------------------------------------------------*
* AT SELECTION SCREEN *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
*----------------------------------------------------------------------*
* START-OF-SELECTION *
*----------------------------------------------------------------------*
START-OF-SELECTION.
IF p_load = 'X'.
PERFORM select_records.
PERFORM process_itab.
ELSE.
PERFORM delete_table.
ENDIF.
*----------------------------------------------------------------------*
* END-OF-SELECTION *
*----------------------------------------------------------------------*
END-OF-SELECTION.
**********************************************************************
**********************************************************************
*&---------------------------------------------------------------------*
*& Form DELETE_TABLE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM delete_table.
DATA: w_answer.
CLEAR: w_answer.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-002
* DIAGNOSE_OBJECT = ' '
text_question = text-003
text_button_1 = text-004
icon_button_1 = 'ICON_OKAY'
text_button_2 = text-005
icon_button_2 = 'ICON_CANCEL'
default_button = '2'
display_cancel_button = ''
* USERDEFINED_F1_HELP = ' '
* START_COLUMN = 25
* START_ROW = 6
* POPUP_TYPE =
IMPORTING
answer = w_answer.
* TABLES
* PARAMETER =
* EXCEPTIONS
* TEXT_NOT_FOUND = 1
* OTHERS = 2
.
IF w_answer = 1.
DELETE FROM zpartner
WHERE vkorg IN s_vkorg
AND vtweg IN s_vtweg
AND spart IN s_spart.
MESSAGE i398(00) WITH 'Records deleted from table: '
sy-dbcnt
' '
' '.
ENDIF.
* get vbaks
CLEAR: it_vbak.
SELECT vbeln vkorg vtweg spart kunnr
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE it_vbak
WHERE vkorg IN s_vkorg
AND vtweg IN s_vtweg
AND spart IN s_spart
AND auart = 'TA'.
*&---------------------------------------------------------------------*
*& Form PROCESS_ITAB
*&---------------------------------------------------------------------*
* attempt post goods issue for all entries.
*----------------------------------------------------------------------*
FORM process_itab.
IF sy-subrc = 0.
CLEAR: wa_zpartner.
wa_zpartner-mandt = sy-mandt.
wa_zpartner-vkorg = <it_vbak_line>-vkorg.
wa_zpartner-vtweg = <it_vbak_line>-vtweg.
wa_zpartner-spart = <it_vbak_line>-spart.
wa_zpartner-kunag = <it_vbak_line>-kunnr.
wa_zpartner-kunwe = <it_vbpa_line>-kunnr.
APPEND wa_zpartner TO it_zpartner.
ENDIF.
*
ENDLOOP.