2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
************************************************************************
* Program Name:
* Author:
* Creation Date:
* Description:
* Quality check:
*----------------------------------------------------------------------*
*======================================================================*
* Change History Log
*----------------------------------------------------------------------*
* Date | Change ID | Name | Description | Initials
*----------------------------------------------------------------------*
*
************************************************************************
REPORT
*-----------------------------------------------------------------------
* TABLE DEFINITIONS
*-----------------------------------------------------------------------
* TABLES: example.
*-----------------------------------------------------------------------
* TYPES DEFINITIONS
*-----------------------------------------------------------------------
* TYPES: BEGIN OF texample,
* example TYPE c,
* END OF texample.
*-----------------------------------------------------------------------
* TABLE TYPE DEFINITIONS
*-----------------------------------------------------------------------
* TYPES: ttexample TYPE STANDARD TABLE OF texample.
*-----------------------------------------------------------------------
* DATA - WORKING FIELDS
*-----------------------------------------------------------------------
* DATA: example TYPE c.
*-----------------------------------------------------------------------
* DATA - CONSTANTS
*-----------------------------------------------------------------------
* CONSTANTS:
*-----------------------------------------------------------------------
* SELECTION SCREEN
*-----------------------------------------------------------------------
* SELECTION-SCREEN BEGIN OF BLOCK SCR WITH FRAME.
* PARAMETERS: p_example TYPE CHAR255.
* SELECTION-SCREEN END OF BLOCK SCR.
************************************************************************
************************** MAIN PROGRAM ********************************
************************************************************************
*-----------------------------------------------------------------------
* INITIALIZATION.
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
* AT SELECTION-SCREEN.
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_example.
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
* START-OF-SELECTION.
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
* END-OF-SELECTION.
*-----------------------------------------------------------------------
************************************************************************
************************** SUBROUTINES *********************************
************************************************************************
|
There are 8 bits in a byte. There is No Shortcut to be A Great ABAP Programmer and It's Applies to All.
Monday, April 27, 2015
ABAP Report - Program Structure or Template
Friday, April 10, 2015
Read Dynamic Table using Fields Symbols
Below is the code snippet.
PARAMETERS p_bukrs TYPE bukrs. DATA: dref TYPE REF TO data. AT SELECTION-SCREEN ON p_bukrs. FIELD-SYMBOLS:TYPE STANDARD TABLE, TYPE ANY. CREATE DATA dref TYPE STANDARD TABLE OF t001. ASSIGN dref->* TO . SELECT * FROM t001 INTO TABLE . IF sy-subrc = 0. SORT BY ('BUKRS'). READ TABLE ASSIGNING WITH KEY ('BUKRS') = p_bukrs. IF sy-subrc <> 0. MESSAGE 'Invalid Comp. Code' TYPE 'E'. ENDIF. ENDIF.
Monday, February 16, 2015
Activate MIRO Reference Key (Xref3) - Using Substitution and BADI Techniques
A. Below is the step to activate the Reference Key in the MIRO - Details screen.
2. Implement below code.
PERFORM modify_fi_subscreen TABLES t_acscr
USING 'XREF3' 'ACTIVE' '1'.
B.1 User exit Activation for Substitution
1. Execute tcode GCX2 .
2. Change the line with Application Area = GBLS . Change the value Ex. Program to = ZRGGBS000
3. GO to SE38 . Copy the standard program RGGBS000 to ZRGGBS000
4. Create new exit and paste below code.
*---------------------------------------------------------------------*
* FORM U111 *
*---------------------------------------------------------------------*
* Populate XREF3 BSEG-XREF3
*---------------------------------------------------------------------*
FORM u111 USING xref3 TYPE bseg-xref3 .
DATA: l_v_lifnr TYPE lifnr.
CHECK sy-tcode EQ 'MIRO'.
FIELD-SYMBOLS TYPE accit_t.
FIELD-SYMBOLS TYPE accit.
* DATA: field_accit TYPE char18 VALUE '(SAPLMRMP)xaccit[]'.
DATA: field_invfo TYPE char18 VALUE '(SAPLFDCB)INVFO'.
FIELD-SYMBOLS TYPE invfo.
* ASSIGN (field_accit) TO.
* CHECK sy-subrc EQ 0.
ASSIGN (field_invfo) TO .
CHECK BSEG-MWSKZ = '**' OR BSEG-MWSKZ = 'IG' .
* IF bseg-bschl = '31'. " Posting Key.
xref3 = -xref3.
* ENDIF.
ENDFORM.
* FORM U111 *
*---------------------------------------------------------------------*
* Populate XREF3 BSEG-XREF3
*---------------------------------------------------------------------*
FORM u111 USING xref3 TYPE bseg-xref3 .
DATA: l_v_lifnr TYPE lifnr.
CHECK sy-tcode EQ 'MIRO'.
FIELD-SYMBOLS
FIELD-SYMBOLS
* DATA: field_accit TYPE char18 VALUE '(SAPLMRMP)xaccit[]'.
DATA: field_invfo TYPE char18 VALUE '(SAPLFDCB)INVFO'.
FIELD-SYMBOLS
* ASSIGN (field_accit) TO
* CHECK sy-subrc EQ 0.
ASSIGN (field_invfo) TO
CHECK BSEG-MWSKZ = '**' OR BSEG-MWSKZ = 'IG' .
* IF bseg-bschl = '31'. " Posting Key.
xref3 =
* ENDIF.
ENDFORM.
1. This substitution is for FI checking to save xref3 in BSEG table.
2. Go to tcode GGB1 - Substitution , Choose Finacial Accounting and Line Item.
4. Create new Step with selection of BSEG-XREF3
5. Maintain the checking condition . Select Prerequisite icon and choose sy-tcode = 'MIRO'.
6. Choose the Substitution and key in the Exit name. Activate the Substitution
1. Execute OBBH Tcode - To select the and activate the substitution based on company code.
2. Click new entries for each company code.
1. Implement BADI - BADI_FDCB_SUBBAS04.
2, Make sure activate all the screen, and hide it (as dummy).
3. There is example of implemetation in BADI - BADI_FDCB_SUBBAS01.
4. Put below code at GET_DATA_FROM_SCREEN_OBJECT method.
METHOD if_ex_badi_fdcb_subbas04~get_data_from_screen_object .
DATA: lt_doc TYPE STANDARD TABLE OF acc_doc,
l_xref3 TYPE bseg-xref3,
l_aworg TYPE acchd-aworg.
FIELD-SYMBOLS:
CHECK sy-tcode = 'MIR4'.
MOVE ex_invfo-gjahr TO l_aworg.
CHECK l_aworg IS NOT INITIAL.
*VALUE(I_AWSYS) LIKE ACCHD-AWSYS DEFAULT SPACE
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
i_awtyp = 'RMRP'
i_awref = ex_invfo-belnr
i_aworg = l_aworg
* I_AWSYS =
* I_AWTYP_INCL = ' '
* I_AWTYP_EXCL = ' '
* I_BUKRS = ' '
I_VALUTYP = '0'
X_DIALOG = ' '
TABLES
t_documents = lt_doc
* EXCEPTIONS
* NO_REFERENCE = 1
* NO_DOCUMENT = 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.
CHECK lt_doc[] IS NOT INITIAL.
READ TABLE lt_doc ASSIGNING
CHECK
SELECT SINGLE xref3 INTO l_xref3 FROM bseg
WHERE bukrs = ex_invfo-bukrs
AND gjahr = ex_invfo-gjahr
AND belnr =
AND bschl = '31' .
IF sy-subrc = 0.
me->if_ex_badi_fdcb_subbas04~invfo-xref3 = l_xref3.
ENDIF.
* fill export parameters from interface attributes
ex_invfo = me->if_ex_badi_fdcb_subbas04~invfo.
ENDMETHOD.
Wednesday, December 24, 2014
Hide Button or Icon in the ABAP Report
Below is the code snippet
Function : 'RS_SET_SELSCREEN_STATUS' .
FORM remove_dynamic_sel .
DATA: t_exclude TYPE STANDARD TABLE OF sypfkey.
APPEND 'DYNS' TO t_exclude.
"DYNS is the dynamic selection screen function code.
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = sy-pfkey
TABLES
p_exclude = t_exclude.
ENDFORM.
Sunday, November 30, 2014
Subscribe to:
Posts (Atom)








