Wednesday, 13 April 2016
Monday, 13 October 2014
GGB0 Validation using User Exit
User exit for FI Transactions using (GGB0)
TCODE : GGB0 validation
OB28 for activating validation
GCX2 user exit Program Config
GS01 Set Creation
Program : RGGBR000 user exit program
Step 1 : create custom program for RGGBR000
1 .Create custom (ZRGGBR000) program , with the copy of standard Program RGGBR000 .
2. Maintained user exit name with in form (form get_exit_titles tables etab ) .
Exits-name = (user defined name)
3. Create form for that new user exit .
form zpark using b_result.
"Set Validation is true at initial stage
b_result = b_true .
“When your validation is unsuccessful just pass b_result in b_fales .
* b_result = b_fales .
endform.
Within form write your logic
Save and Activate the program .
Step2 : Assign the Custom Program in GCX2
After Assigning , user exit name will be appear in GGB0 exit TAB .
Step3 : Create the Validation in GGB0 .
Maintained the User exit
Message:
Step: Activate Validation (OB28) .
SET Creation (GS01 ) :
Press enter. Then below screen will appear .
Tuesday, 16 September 2014
BAPI - step by step creation
BAPI- Business Application Programming Interface
Step1: Creating a structure
in SE11
Step2: Creating the function module in SE37
Step 3: Creating the business object in SWO1
Step 4: Viewing the created BAPI in BAPI
Explorer
Step 5: Test your BAPI in SWO1
Step1: Creating a structure
in SE11
Simple OOPS Concept ALV
*&---------------------------------------------------------------------*
*& Report ZDEMO123
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report zdemo123.
*----------------------------------------------------------------------*
* CLASS local DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class local definition .
public section .
data: it_bkpf type standard table of bkpf .
types : r_belnr type range of bkpf-belnr .
methods:get_data importing belnr type r_belnr,
fieldcat exporting e_fcat type lvc_t_fcat,
build_alv importing i_fcat type lvc_t_fcat .
endclass . "local DEFINITION
*----------------------------------------------------------------------*
* CLASS local IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class local implementation .
method:get_data.
select * from bkpf into table it_bkpf where belnr in belnr .
endmethod . "get_data
method fieldcat .
call function 'LVC_FIELDCATALOG_MERGE'
exporting
* I_BUFFER_ACTIVE =
i_structure_name = 'BKPF'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME = IT_BKPF
changing
ct_fieldcat = e_fcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3 .
* lc_fcat = e_fcat .
endmethod . "fieldcat
method: build_alv .
data lo_grid type ref to cl_gui_alv_grid.
data: c_fcat type lvc_t_fcat .
create object lo_grid
exporting
i_parent = cl_gui_custom_container=>screen0.
c_fcat = i_fcat .
call method lo_grid->set_table_for_first_display
changing
it_outtab = it_bkpf
it_fieldcatalog = c_fcat
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
endmethod . "build_alv
endclass . "local IMPLEMENTATION
data: obj_local type ref to local.
data: cfcat type lvc_t_fcat .
tables: bkpf .
select-options : s_belnr for bkpf-belnr .
selection-screen begin of screen 1001 .
selection-screen end of screen 1001.
start-of-selection .
create object obj_local .
obj_local->get_data( exporting belnr = s_belnr[] ) .
obj_local->fieldcat( importing e_fcat = cfcat ) .
obj_local->build_alv( exporting i_fcat = cfcat ) .
call selection-screen 1001 ."STARTING AT 8 8 ENDING AT 85 22.
Thursday, 29 May 2014
F4 HELP FOR YEAR / SEARCH HELP FOR YEAR
PARAMETERS: p_year TYPE gjahr .
AT SELECTION-SCREEN on VALUE-REQUEST FOR p_year .
TYPES: BEGIN OF ty_year ,
year TYPE gjahr,
END OF ty_year .
data: it_year TYPE STANDARD TABLE OF ty_year WITH HEADER LINE .
DATA: i_return TYPE ddshretval OCCURS 0 WITH HEADER LINE,
c TYPE c VALUE 'S',
year TYPE gjahr .
year = sy-datum+0(4) .
DO 50 TIMES.
it_year-year = year .
append it_year .
SUBTRACT 1 FROM year .
ENDDO.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'P_YEAR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'crid'
value_org = c
TABLES
value_tab = it_year
return_tab = i_return.
AT SELECTION-SCREEN on VALUE-REQUEST FOR p_year .
TYPES: BEGIN OF ty_year ,
year TYPE gjahr,
END OF ty_year .
data: it_year TYPE STANDARD TABLE OF ty_year WITH HEADER LINE .
DATA: i_return TYPE ddshretval OCCURS 0 WITH HEADER LINE,
c TYPE c VALUE 'S',
year TYPE gjahr .
year = sy-datum+0(4) .
DO 50 TIMES.
it_year-year = year .
append it_year .
SUBTRACT 1 FROM year .
ENDDO.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'P_YEAR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'crid'
value_org = c
TABLES
value_tab = it_year
return_tab = i_return.
Tuesday, 30 April 2013
ALV BLOCK LIST REPORT
*& Report ZR_ALV_INETR_PO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZR_ALV_BLOCK_LIST.
TABLES: EKKO, EKPO,LFA1.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF ST_EKKO,
EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
BSTYP TYPE EKKO-BSTYP,
BSART TYPE EKKO-BSART,
LIFNR TYPE EKKO-LIFNR,
ERNAM TYPE EKKO-ERNAM,
AEDAT TYPE EKKO-BEDAT,
END OF ST_EKKO.
TYPES: BEGIN OF ST_EKPO,
EBELN TYPE EKPO-EBELN,
EBELP TYPE EKPO-EBELP,
MATNR TYPE EKPO-MATNR,
MENGE TYPE EKPO-MENGE,
NETPR TYPE EKPO-NETPR,
END OF ST_EKPO.
DATA: IT_EKKO TYPE TABLE OF ST_EKKO,
IT_EKPO TYPE TABLE OF ST_EKPO,
WA_EKKO TYPE ST_EKKO,
WA_EKPO TYPE ST_EKPO.
DATA: IT_FC1 TYPE SLIS_T_FIELDCAT_ALV,
IT_FC2 TYPE SLIS_T_FIELDCAT_ALV,
WA_FC1 TYPE SLIS_FIELDCAT_ALV,
WA_FC2 TYPE SLIS_FIELDCAT_ALV.
DATA: IT_EVENT TYPE SLIS_T_EVENT,
V_TABNAME TYPE SLIS_TABNAME,
S_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT-OPTIONS: S_EBELN FOR EKPO-EBELN.
PERFORM GETDATA.
PERFORM FIELDCAT1.
PERFORM FIELDCAT2.
PERFORM DISPLAY.
FORM GETDATA.
SELECT EBELN EBELP MATNR MENGE NETPR FROM EKPO INTO TABLE IT_EKPO WHERE EBELN IN S_EBELN.
SELECT EBELN BUKRS BSTYP BSART ERNAM AEDAT FROM EKKO INTO CORRESPONDING FIELDS OF TABLE IT_EKKO WHERE EBELN IN S_EBELN.
ENDFORM.
FORM FIELDCAT1.
CLEAR: WA_FC1.
WA_FC1-TABNAME = 'IT_EKPO'.
WA_FC1-FIELDNAME = 'EBELN'.
WA_FC1-SELTEXT_S = 'PO DOC NO'.
WA_FC1-COL_POS = 1.
APPEND WA_FC1 TO IT_FC1.
CLEAR: WA_FC1.
WA_FC1-TABNAME = 'IT_EKPO'.
WA_FC1-FIELDNAME = 'EBELP'.
WA_FC1-SELTEXT_S = 'PO DOC ITEM'.
WA_FC1-COL_POS = 2.
APPEND WA_FC1 TO IT_FC1.
CLEAR: WA_FC1.
WA_FC1-TABNAME = 'IT_EKPO'.
WA_FC1-FIELDNAME = 'MATNR'.
WA_FC1-SELTEXT_S = 'MATERIAL NO'.
WA_FC1-COL_POS = 3.
APPEND WA_FC1 TO IT_FC1.
CLEAR: WA_FC1.
WA_FC1-TABNAME = 'IT_EKPO'.
WA_FC1-FIELDNAME = 'MENGE'.
WA_FC1-SELTEXT_S = 'QUANTITY'.
WA_FC1-COL_POS = 4.
APPEND WA_FC1 TO IT_FC1.
CLEAR: WA_FC1.
WA_FC1-TABNAME = 'IT_EKPO'.
WA_FC1-FIELDNAME = 'NETPR'.
WA_FC1-SELTEXT_S = 'NET PRICE'.
WA_FC1-COL_POS = 5.
APPEND WA_FC1 TO IT_FC1.
ENDFORM.
FORM FIELDCAT2.
CLEAR: WA_FC2.
WA_FC2-TABNAME = 'IT_EKKO'.
WA_FC2-FIELDNAME = 'EBELN'.
WA_FC2-SELTEXT_S = 'PO DOC NO'.
WA_FC2-COL_POS = 1.
APPEND WA_FC2 TO IT_FC2.
CLEAR: WA_FC2.
WA_FC2-TABNAME = 'IT_EKKO'.
WA_FC2-FIELDNAME = 'BUKRS'.
WA_FC2-SELTEXT_S = 'COMPANY CODE'.
WA_FC2-COL_POS = 2.
APPEND WA_FC2 TO IT_FC2.
CLEAR: WA_FC2.
WA_FC2-TABNAME = 'IT_EKKO'.
WA_FC2-FIELDNAME = 'BUTYP'.
WA_FC2-SELTEXT_S = 'PO DOC CAT'.
WA_FC2-COL_POS = 3.
APPEND WA_FC2 TO IT_FC2.
CLEAR: WA_FC2.
WA_FC2-TABNAME = 'IT_EKKO'.
WA_FC2-FIELDNAME = 'BSART'.
WA_FC2-SELTEXT_S = 'PO DOC TYPE'.
WA_FC2-COL_POS = 4.
APPEND WA_FC2 TO IT_FC2.
CLEAR: WA_FC2.
ENDFORM.
FORM DISPLAY.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* IT_EXCLUDING =
.
V_TABNAME = 'ITAB1'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = S_LAYOUT
IT_FIELDCAT = IT_FC1
I_TABNAME = V_TABNAME
IT_EVENTS = IT_EVENT
* IT_SORT =
* I_TEXT = ' '
TABLES
T_OUTTAB = IT_EKPO
* EXCEPTIONS
* PROGRAM_ERROR = 1
* MAXIMUM_OF_APPENDS_REACHED = 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.
V_TABNAME = 'ITAB2'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = S_LAYOUT
IT_FIELDCAT = IT_FC2
I_TABNAME = V_TABNAME
IT_EVENTS = IT_EVENT
* IT_SORT =
* I_TEXT = ' '
TABLES
T_OUTTAB = IT_EKKO
* EXCEPTIONS
* PROGRAM_ERROR = 1
* MAXIMUM_OF_APPENDS_REACHED = 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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
* EXPORTING
* I_INTERFACE_CHECK = ' '
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
* 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.
RESULT:
ALV POPUP DISPLAY REPO
*&---------------------------------------------------------------------*
*& Report ZR_ALV_POPUP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZR_ALV_POPUP.
TABLES: VBAP.
TYPE-POOLS: SLIS.
DATA: BEGIN OF IT_VBAP OCCURS 10,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-VBELN,
END OF IT_VBAP.
DATA: FC TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
PARAMETERS: P_VBELN TYPE VBAP-VBELN.
SELECT * FROM VBAP INTO CORRESPONDING FIELDS OF TABLE IT_VBAP WHERE VBELN = P_VBELN.
PERFORM FIELDCAT.
PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*& Form fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM FIELDCAT.
FC-FIELDNAME = 'VBELN'.
FC-SELTEXT_L = 'salse doc no'.
APPEND FC.
CLEAR FC.
FC-FIELDNAME = 'POSNR'.
FC-SELTEXT_L = 'salse doc ITEM'.
APPEND FC.
CLEAR FC.
ENDFORM. "fieldcat
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
* I_TITLE =
* I_SELECTION = 'X'
* I_ALLOW_NO_SELECTION =
I_ZEBRA = 'X'
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_CHECKBOX_FIELDNAME =
* I_LINEMARK_FIELDNAME =
* I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = 'IT_VBAP'
* I_STRUCTURE_NAME =
IT_FIELDCAT = FC[]
* IT_EXCLUDING =
* I_CALLBACK_PROGRAM =
* I_CALLBACK_USER_COMMAND =
* IS_PRIVATE =
* IMPORTING
* ES_SELFIELD =
* E_EXIT =
TABLES
T_OUTTAB = IT_VBAP
* 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. "DISPLAY
RESULT:
*& Report ZR_ALV_POPUP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZR_ALV_POPUP.
TABLES: VBAP.
TYPE-POOLS: SLIS.
DATA: BEGIN OF IT_VBAP OCCURS 10,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-VBELN,
END OF IT_VBAP.
DATA: FC TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
PARAMETERS: P_VBELN TYPE VBAP-VBELN.
SELECT * FROM VBAP INTO CORRESPONDING FIELDS OF TABLE IT_VBAP WHERE VBELN = P_VBELN.
PERFORM FIELDCAT.
PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*& Form fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM FIELDCAT.
FC-FIELDNAME = 'VBELN'.
FC-SELTEXT_L = 'salse doc no'.
APPEND FC.
CLEAR FC.
FC-FIELDNAME = 'POSNR'.
FC-SELTEXT_L = 'salse doc ITEM'.
APPEND FC.
CLEAR FC.
ENDFORM. "fieldcat
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
* I_TITLE =
* I_SELECTION = 'X'
* I_ALLOW_NO_SELECTION =
I_ZEBRA = 'X'
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_CHECKBOX_FIELDNAME =
* I_LINEMARK_FIELDNAME =
* I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = 'IT_VBAP'
* I_STRUCTURE_NAME =
IT_FIELDCAT = FC[]
* IT_EXCLUDING =
* I_CALLBACK_PROGRAM =
* I_CALLBACK_USER_COMMAND =
* IS_PRIVATE =
* IMPORTING
* ES_SELFIELD =
* E_EXIT =
TABLES
T_OUTTAB = IT_VBAP
* 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. "DISPLAY
RESULT:
Subscribe to:
Posts (Atom)








