How Create "ME_GUI_PO_CUST" Implementation
Hi Abapers, I need create a new Implementation for BADI "ME_GUI_PO_CUST" (For Extending Tx ME22N), but i see this BADI already has standard implementation activated , and i think can't use other.
how can create another implementation without erasing the previous BADI implementation
i hope can help me ty.
Hi,
It usually has an Example implementation, not a default one. You can simply create you implementation in SE19.
Regards,
Custodio
Similar Messages
-
How to create and implement a new work schedule rule successfully?
Dear Community,
How to create and implement a new work schedule rule successfully?
In other words, what are all the basic steps to create and implement a new work schedule rule successfully?
Thanks in advance.Hi,
Follow the below steps to create Work Schedule:
Holiday Calendar
Transaction Code: SCAL
Holiday calendar comprises of list of paid holidays to be given to employees on festivals by the company.
Personnel Area/SubArea Groupings
Go to SPRO --> Time Management --->Work Schedules --> Personnel SubArea Groupings
Maintain perosnnel area/Subarea groupings for work schedule.
i.e. Suppose in Mumbai you have WS = GEN ( 10 to 6) and in Chennai you have WS = NORM ( 8 to 4 )
Work Schedule
Go to SPRO --> Time Management --->Work Schedules -->Daily Work Schedules
Go to SPRO --> Time Management --->Work Schedules -->Period Work Schedules
Daily Work Schedule is actually your office timings with breaks (paid /unpaid) i.e. Planned Working Time which is then included
in Period Work Schedule to make a week ( M T W T F S S )
Daily Work Schedule (i.e. Day) -
> Period Work Schedule (i.e. Week)
Work Schedule Rules
Go to SPRO --> Time Management --->Work Schedules -->Work Schedule Rules and Work Schedules
After doing above mentioned configurations,maintain employee group/subgroup groupings in which you have to define which calendar is applicable for which type of employees for which work schedule.
You will maintain this work schedule in infotype 0007 - Planned Working Time of employee via transaction code - PA30 -
Based from my code, how do I implement an ALV grid using OO concept...
Hello experts,
I am currently practicing ABAP Objects and I would like to use alv in my report. Now, How can I implement ALV in my report in the simplest way possible. Sample codes will be highly appreciated. Thanks guys and take care!
REPORT z_aris_oo_practice_9
NO STANDARD PAGE HEADING
LINE-SIZE 0
LINE-COUNT 0.
TABLES: spfli.
Selection screen
SELECTION-SCREEN BEGIN OF BLOCK box1 WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK box2 WITH FRAME.
PARAMETERS: p_carrid TYPE spfli-carrid,
p_connid TYPE spfli-connid.
SELECTION-SCREEN END OF BLOCK box2.
SELECTION-SCREEN BEGIN OF BLOCK box3 WITH FRAME.
PARAMETERS: p_sumdis AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK box3.
SELECTION-SCREEN END OF BLOCK box1.
INTERFACE status
INTERFACE status.
METHODS write.
ENDINTERFACE. "status
CLASS main DEFINITION
CLASS main DEFINITION.
PUBLIC SECTION.
INTERFACES status.
METHODS: get_data,
combine_data.
CLASS-DATA: counter TYPE i.
PRIVATE SECTION.
TYPES: BEGIN OF t_spfli,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
countryfr TYPE spfli-countryfr,
cityfrom TYPE spfli-cityfrom,
airpfrom TYPE spfli-airpfrom,
countryto TYPE spfli-countryto,
cityto TYPE spfli-cityto,
airpto TYPE spfli-airpto,
fltime TYPE spfli-fltime,
deptime TYPE spfli-deptime,
arrtime TYPE spfli-arrtime,
END OF t_spfli.
DATA: it_spfli TYPE STANDARD TABLE OF t_spfli.
ENDCLASS. "main DEFINITION
CLASS main IMPLEMENTATION
CLASS main IMPLEMENTATION.
METHOD status~write.
WRITE: / 'The number of records is:', counter.
ENDMETHOD. "status~write
METHOD get_data.
SELECT carrid connid countryfr
cityfrom airpfrom countryto
cityto airpto fltime
deptime arrtime
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
ENDMETHOD. "get_data
METHOD combine_data.
FIELD-SYMBOLS: <fs_spfli> LIKE LINE OF it_spfli.
LOOP AT it_spfli ASSIGNING <fs_spfli>.
ADD 1 TO counter.
WRITE: / <fs_spfli>-carrid,
<fs_spfli>-connid,
<fs_spfli>-countryfr,
<fs_spfli>-cityfrom,
<fs_spfli>-airpfrom,
<fs_spfli>-countryto,
<fs_spfli>-cityto,
<fs_spfli>-airpto,
<fs_spfli>-fltime,
<fs_spfli>-deptime,
<fs_spfli>-arrtime.
ENDLOOP.
ENDMETHOD. "show_data
ENDCLASS. "main IMPLEMENTATION
START-OF-SELECTION.
DATA: main TYPE REF TO main,
status TYPE REF TO status.
CREATE OBJECT main.
CALL METHOD main->get_data.
CALL METHOD main->combine_data.
CALL METHOD main->status~write.Hi,
Check this example..., In this i implemented so many functionalities like top_of_page, drop_down at cell level etc.., also Check the programs BCALVEDIT also
Just check it.
REPORT ZTEST_ALV_OO MESSAGE-ID ZZ .
DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA: L_VALID TYPE C,
V_FLAG,
V_DATA_CHANGE,
V_ROW TYPE LVC_S_ROW,
V_COLUMN TYPE LVC_S_COL,
V_ROW_NUM TYPE LVC_S_ROID.
DATA: IT_ROW_NO TYPE LVC_T_ROID,
X_ROW_NO TYPE LVC_S_ROID.
DATA:BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
CELLCOLOR TYPE LVC_T_SCOL, "required for color
DROP(10),
check,
END OF ITAB.
"The Below Definitions Must.....
DATA:
* Reference to document
DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT,
* Reference to split container
DG_SPLITTER TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
* Reference to grid container
DG_PARENT_GRID TYPE REF TO CL_GUI_CONTAINER,
* Reference to html container
DG_HTML_CNTRL TYPE REF TO CL_GUI_HTML_VIEWER,
* Reference to html container
DG_PARENT_HTML TYPE REF TO CL_GUI_CONTAINER.
"up to here
* CLASS lcl_event_handler DEFINITION
CLASS LCL_EVENT_HANDLER DEFINITION .
PUBLIC SECTION .
METHODS:
**Hot spot Handler
HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,
**Double Click Handler
HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN ES_ROW_NO,
TOP_OF_PAGE FOR EVENT TOP_OF_PAGE "event handler
OF CL_GUI_ALV_GRID
IMPORTING E_DYNDOC_ID.
* END_OF_LIST FOR EVENT end_of_list "event handler
* OF CL_GUI_ALV_GRID
* IMPORTING E_DYNDOC_ID.
ENDCLASS. "lcl_event_handler DEFINITION
* CLASS lcl_event_handler IMPLEMENTATION
CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
*Handle Hotspot Click
METHOD HANDLE_HOTSPOT_CLICK .
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW_ID.
V_COLUMN = E_COLUMN_ID.
V_ROW_NUM = ES_ROW_NO.
* MESSAGE I000 WITH V_ROW 'clicked'.
CLEAR IT_ROW_NO[].
X_ROW_NO-ROW_ID = V_ROW.
APPEND X_ROW_NO TO IT_ROW_NO .
CALL METHOD G_GRID->SET_SELECTED_ROWS
EXPORTING
IT_ROW_NO = IT_ROW_NO.
ENDMETHOD. "lcl_event_handler
*Handle Double Click
METHOD HANDLE_DOUBLE_CLICK.
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW.
V_COLUMN = E_COLUMN.
V_ROW_NUM = ES_ROW_NO.
IF E_COLUMN = 'VBELN'.
SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
ENDIF.
IF E_COLUMN = 'POSNR'.
SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN."
ENDIF.
ENDMETHOD. "handle_double_click
* METHOD END_OF_LIST. "implementation
** Top-of-page event
* PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
* ENDMETHOD. "top_of_page
METHOD TOP_OF_PAGE. "implementation
* Top-of-page event
PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
ENDMETHOD. "top_of_page
ENDCLASS. "LCL_EVENT_HANDLER IMPLEMENTATION
*& Global Definitions
DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container1
G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler
DATA: OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE SY-UCOMM,
G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST',
GS_LAYOUT TYPE LVC_S_LAYO.
data: v_lines type i.
data: v_line(3) type c.
*- Fieldcatalog for First and second Report
DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
X_FIELDCAT TYPE LVC_S_FCAT,
LS_VARI TYPE DISVARIANT.
* START-OF_SELECTION
START-OF-SELECTION.
SELECT VBELN
POSNR
FROM LIPS
UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE ITAB.
describe table itab lines v_lines.
END-OF-SELECTION.
IF NOT ITAB[] IS INITIAL.
CALL SCREEN 100.
ELSE.
MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).
ENDIF.
*& Form CREATE_AND_INIT_ALV
* text
FORM CREATE_AND_INIT_ALV .
DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.
"attention.....from here
"split your container here...into two parts
"create the container
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = G_CONTAINER1.
"this is for top of page
* Create TOP-Document
CREATE OBJECT DG_DYNDOC_ID
EXPORTING STYLE = 'ALV_GRID'.
* Create Splitter for custom_container
CREATE OBJECT DG_SPLITTER
EXPORTING PARENT = G_CUSTOM_CONTAINER
ROWS = 2
COLUMNS = 1.
* Split the custom_container to two containers and move the reference
* to receiving containers g_parent_html and g_parent_grid
"i am allocating the space for grid and top of page
CALL METHOD DG_SPLITTER->GET_CONTAINER
EXPORTING
ROW = 1
COLUMN = 1
RECEIVING
CONTAINER = DG_PARENT_HTML.
CALL METHOD DG_SPLITTER->GET_CONTAINER
EXPORTING
ROW = 2
COLUMN = 1
RECEIVING
CONTAINER = DG_PARENT_GRID.
* CALL METHOD DG_SPLITTER->GET_CONTAINER
* EXPORTING
* ROW = 2
* COLUMN = 1
* RECEIVING
* CONTAINER = DG_PARENT_HTML.
* CALL METHOD DG_SPLITTER->GET_CONTAINER
* EXPORTING
* ROW = 1
* COLUMN = 1
* RECEIVING
* CONTAINER = DG_PARENT_GRID.
"you can set the height of it
* Set height for g_parent_html
CALL METHOD DG_SPLITTER->SET_ROW_HEIGHT
EXPORTING
ID = 1
HEIGHT = 5.
"from here as usual..you need to specify parent as splitter part
"which we alloted for grid
CREATE OBJECT G_GRID
EXPORTING I_PARENT = DG_PARENT_GRID.
* Set a titlebar for the grid control
CLEAR GS_LAYOUT.
GS_LAYOUT-GRID_TITLE = TEXT-003.
GS_LAYOUT-ZEBRA = SPACE.
GS_LAYOUT-CWIDTH_OPT = 'X'.
GS_LAYOUT-NO_ROWMARK = 'X'.
GS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.
CALL METHOD G_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
CREATE OBJECT G_HANDLER.
SET HANDLER G_HANDLER->HANDLE_DOUBLE_CLICK FOR G_GRID.
SET HANDLER G_HANDLER->HANDLE_HOTSPOT_CLICK FOR G_GRID.
* SET HANDLER G_HANDLER->END_OF_LIST FOR G_GRID.
SET HANDLER G_HANDLER->TOP_OF_PAGE FOR G_GRID.
DATA: LS_CELLCOLOR TYPE LVC_S_SCOL. "required for color
DATA: L_INDEX TYPE SY-TABIX.
"Here i am changing the color of line 1,5,10...
"so you can change the color of font conditionally
LOOP AT ITAB.
L_INDEX = SY-TABIX.
IF L_INDEX = 1 OR L_INDEX = 5 OR L_INDEX = 10.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '0'.
LS_CELLCOLOR-COLOR-INV = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
LS_CELLCOLOR-FNAME = 'POSNR'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '0'.
LS_CELLCOLOR-COLOR-INV = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
ENDIF.
ENDLOOP.
* setting focus for created grid control
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = G_GRID.
* Build fieldcat and set editable for date and reason code
* edit enabled. Assign a handle for the dropdown listbox.
PERFORM BUILD_FIELDCAT.
PERFORM SET_DRDN_TABLE.
* Optionally restrict generic functions to 'change only'.
* (The user shall not be able to add new lines).
PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.
**Vaiant to save the layout
LS_VARI-REPORT = SY-REPID.
LS_VARI-HANDLE = SPACE.
LS_VARI-LOG_GROUP = SPACE.
LS_VARI-USERNAME = SPACE.
LS_VARI-VARIANT = SPACE.
LS_VARI-TEXT = SPACE.
LS_VARI-DEPENDVARS = SPACE.
**Calling the Method for ALV output
CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
IS_VARIANT = LS_VARI
IS_LAYOUT = GS_LAYOUT
I_SAVE = 'A'
CHANGING
IT_FIELDCATALOG = IT_FIELDCAT
IT_OUTTAB = ITAB[].
"do these..{
* Initializing document
CALL METHOD DG_DYNDOC_ID->INITIALIZE_DOCUMENT.
* Processing events
CALL METHOD G_GRID->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE'
I_DYNDOC_ID = DG_DYNDOC_ID.
"end }
* Set editable cells to ready for input initially
CALL METHOD G_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
ENDFORM. "CREATE_AND_INIT_ALV
*& Form EXCLUDE_TB_FUNCTIONS
* text
* -->PT_EXCLUDE text
FORM EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.
* Only allow to change data not to create new entries (exclude
* generic functions).
DATA LS_EXCLUDE TYPE UI_FUNC.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*& Form build_fieldcat
* Fieldcatalog
FORM BUILD_FIELDCAT .
DATA: L_POS TYPE I.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Check'.
X_FIELDCAT-FIELDNAME = 'CHECK'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-CHECKbox = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-OUTPUTLEN = '1'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-NO_ZERO = 'X'.
X_FIELDCAT-OUTPUTLEN = '10'.
X_FIELDCAT-HOTSPOT = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Item'(025).
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Drop'(025).
X_FIELDCAT-FIELDNAME = 'DROP'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-DRDN_HNDL = '1'.
X_FIELDCAT-DRDN_ALIAS = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
ENDFORM. " build_fieldcat
*& Module STATUS_0100 OUTPUT
* text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF G_CUSTOM_CONTAINER IS INITIAL.
**Initializing the grid and calling the fm to Display the O/P
PERFORM CREATE_AND_INIT_ALV.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form SET_DRDN_TABLE
* text
FORM SET_DRDN_TABLE.
DATA:LT_DRAL TYPE LVC_T_DRAL,
LS_DRAL TYPE LVC_S_DRAL.
LOOP AT ITAB .
* First listbox (handle '1').
IF SY-INDEX = 1.
LS_DRAL-HANDLE = '1'.
LS_DRAL-VALUE = ' '.
LS_DRAL-INT_VALUE = ' '.
ELSE.
LS_DRAL-HANDLE = '1'.
LS_DRAL-VALUE = ITAB-POSNR.
LS_DRAL-INT_VALUE = ITAB-POSNR.
ENDIF.
APPEND LS_DRAL TO LT_DRAL.
ENDLOOP.
**Setting the Drop down table for Reason Code
CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
EXPORTING
IT_DROP_DOWN_ALIAS = LT_DRAL.
ENDFORM. " set_drdn_table
*& Form EVENT_TOP_OF_PAGE
* text
* -->DG_DYNDOC_ID text
FORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
"this is more clear.....check it
"first add text, then pass it to comentry write fm
DATA : DL_TEXT(255) TYPE C. "Text
* Populating header to top-of-page
CALL METHOD DG_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = 'Test Report'
SAP_STYLE = CL_DD_AREA=>HEADING.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move program ID
CONCATENATE 'Program Name :' SY-REPID
INTO DL_TEXT SEPARATED BY SPACE.
* Add Program Name to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move User ID
CONCATENATE 'User ID :' SY-UNAME INTO DL_TEXT SEPARATED BY SPACE
* Add User ID to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move count (no of records).
move v_lines to v_line.
CONCATENATE 'No of records :' v_line INTO DL_TEXT SEPARATED BY SPACE.
* Add Client to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move date
WRITE SY-DATUM TO DL_TEXT.
CONCATENATE 'Date :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
* Add Date to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move time
WRITE SY-UZEIT TO DL_TEXT.
CONCATENATE 'Time :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
* Add Time to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
* Populating data to html control
PERFORM HTML.
ENDFORM. " EVENT_TOP_OF_PAGE
*& Form ADD_TEXT
* To add Text
FORM ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.
* Adding text
CALL METHOD DG_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = P_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING.
ENDFORM. " ADD_TEXT
*& Form HTML
* text
FORM HTML.
DATA : DL_LENGTH TYPE I, " Length
DL_BACKGROUND_ID TYPE SDYDO_KEY VALUE SPACE. " Background_id
* Creating html control
IF DG_HTML_CNTRL IS INITIAL.
CREATE OBJECT DG_HTML_CNTRL
EXPORTING
PARENT = DG_PARENT_HTML.
ENDIF.
* Reuse_alv_grid_commentary_set
CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'
EXPORTING
DOCUMENT = DG_DYNDOC_ID
BOTTOM = SPACE
IMPORTING
LENGTH = DL_LENGTH.
* Get TOP->HTML_TABLE ready
CALL METHOD DG_DYNDOC_ID->MERGE_DOCUMENT.
* Set wallpaper
CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
EXPORTING
PICTURE_ID = DL_BACKGROUND_ID.
* Connect TOP document to HTML-Control
DG_DYNDOC_ID->HTML_CONTROL = DG_HTML_CNTRL.
* Display TOP document
CALL METHOD DG_DYNDOC_ID->DISPLAY_DOCUMENT
EXPORTING
REUSE_CONTROL = 'X'
PARENT = DG_PARENT_HTML
EXCEPTIONS
HTML_DISPLAY_ERROR = 1.
IF SY-SUBRC NE 0.
MESSAGE I999 WITH 'Error in displaying top-of-page'(036).
ENDIF.
ENDFORM. " HTML
Regards
vijay -
Problem in creating new implementation for filter dependent badi
Hi Experts,
I want to use badi NOTIF_EVENT_POST.It is a filter dependent badi. It is asking filter type while implementing thro se19. Could anyone pls tel me how to create new implementation for the filter dependent badi. Existing filter type is QMART. is there any problem if i change the filter type?
Thanks in Advance!Hi ,
NOTIF_EVENT_POST is filter dependent and filter values are based on QMART value in table TQ80. You need to specify the filter value ie : QMART value before implimentation , before that check all active implimentations for the same , if u have to impliment on same filter value , you need to deactivate the one which is implimented on same filter value .
You are not supposed to change the filter type.
Regards,
Vamsi
Edited by: CH. VAMSHI on Sep 29, 2009 11:58 AM -
How can I implement an user function in a derived column of a report ?
Hello,
I've a report and added a derived column.
In this column should be displayed the result of a function.
GETANZGJMONATE ( to_date(#START_AFA#,'DD.MM.YYYY'), #ND#, :P302_GJ );
How can I implement this?
Thanks in advance
Regards UlrikeUlrike - I would do this in the SQL statement (there may be other ways).
Presumably START_AFA and ND are table columns?
Presumably you've also created the GETANZGJMONATE function?
So, something like this should work (this also assumes that START_AFA is of a DATE type - you'll need the TO_DATE call if not):
SELECT COL1
, COL2
, START_AFA
, ND
, GETANZGJMONATE (START_AFA, ND, :P302_GJ)
from TABLE
where ...
Can't remember if you have to grant any particular execute permissions on the function ('grant execute on GETANZGJMONATE to public', for example) when you call it from SQL on a page, but you could try that if the function call fails.
Depending on what's in :P302_GJ and what the function parameter data type is, you might need to use the '&P302_GJ.' syntax or TO_NUMBER etc.
Hope this helps.
Regards,
John. -
How to decide implementation way for share point site ?
Hi,
I am developing new share point site where i want to manage more hierarchical data with its own business requirements and flows.
lets assume following scenario
there are multiple companies at very top level
Every company contains multiple departments
and every department have multiple groups (group of working people)
I want to manage communication between each group within each company, and no two group from two diff companies should interact with each other.
For this implement what will be the better approach for site design ? and how can i implement such a hierarchical structure ?
As i am new to share point , any help will be appreciable.
Thanks,
C MahoneCreate a separate site collection for each company. For every department you can have a sub site. You can create groups within the sub site.
Once you separate the each company details in a separate site collection you will have more control over the security.
Check the below link for site planning in SharePoint
http://technet.microsoft.com/en-us/library/ee476994%28v=office.15%29.aspx
My Blog- http://www.sharepoint-journey.com|
If a post answers your question, please click Mark As Answer on that post and Vote as Helpful -
How can I implement the connection pool in my java stored procedure
my java stored procedures (in database 'B') have to connect to another oracle database ,let's say 'A'. And how can I implement the behavior like the so-called connection pool in my java stored procedure in 'B', as below.
1. database B, has 2 java stored procedures sp1 and sp2
2. both sp1 and sp2 connects to databse 'A'
whatever I call the sp1 and sp2 and the database 'A' always only one connected session from sp1 and sp2 in database 'B'.
THANKS A LOTS...my problem is I have a lots of java stored procedures need to cnnect to the remote oracle db, and I hope the remote db can only have a connected session from my java stored procedures in my local db. I try as below
class sp{
static Connection conn=null; //the remote db connection,
public static void sp1(){...}//procedure 1, using conn
public static void sp2(){...}//procedure 2, using conn,too
I can 'see' the 'conn' variable if I invoke the sp1() and sp2() from the same client application(maybe sqlplus). But if I invoke the sp1() from client 'A' and invoke sp2() from client 'B' then the sp1() and sp2() can not see the 'conn' variable for each other. I think it's because the two clients cause oracle to create two instances of the class 'sp' and the sp1() and sp2() located in different instance seperately. Thus the sp1() and sp2() can not see 'conn' for each other. They can only see its own 'conn'.
To connect to the remote db from the java stored procedure is easy but is it possible to connect to the remote db via database link from the java stored procedure at my local db ? If so, then I also archive my goal .
BTW , thanks a lots...
andrew :-) -
How Create LDAP Group Inside Active Sync Form?
I have an Active Sync form that is working well to synchronize (and slightly massage) data from an Active Directory source to a Sun Directory Server destination.
I need to synchronize group information from AD to DS. It must automatically create groups during the Active Sync processing. It can't be done externally using another scripting language; it must be done within IdM.
I have the following code...
<Action id='0' application='com.waveset.provision.WorkflowServices'>
<Argument name='op' value='createResourceObject'/>
<Argument name='object'>
<Object>
<Attribute name='resourceId' value='DS'/>
<Attribute name='resourceName' value='DS'/>
<Attribute name='resourceType' value='LDAP'/>
<Attribute name='objectName' value='abcd'/>
<Attribute name='attributes'>
<Object>
<Attribute name='cn' value='abcd'/>
<Attribute name='groupType' value='abcd'/>
</Object>
</Attribute>
<Attribute name='objectType' value='group'/>
<Attribute name='objectId' value='CN=abcd,ou=Groups,dc=blah,dc=com>
</Object>
</Argument>
<Argument name='objectType' value='group'/>
<Argument name='resourceId' value='DS'/>
</Action>However with that code inside the <Field><Expansion>...</Expansion><Field> section the group is not created. I've enabled tracing and as best I can determine the code isn't even executed.
I have created resource schemas for accounts[DS].ldapGroups and accounts[AD].groups and that works well. I can read group memberships from those lists. However I can't simply append to those lists to automatically create groups (which would be nice). That's why I've gone down this path of attempting to create the groups programatically.
I've scoured the groups and the course notes and found nothing relevant here. The examples all refer to creating the groups within an interactive form. I'm trying to do the same within the <Field> section of an Active Sync form.TTSLSAB wrote:
Hi Vladimir,
can you please tell me what should i import in the java class inorder to avoid the below error (session) for the line
Resource resource = (Resource)session.getObject(Type.RESOURCE, resId);
ResourceAdapter ra = ResourceOp.findAdapter(resource, session.getCache());Error, which i am getting is
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
session cannot be resolved
session cannot be resolvedsession is your LighthouseContext handle so depending on how you are implementing the class you quoted, you will either need to pass it in, for example via the invoke tag from your form/workflow, or get your own - don't know how this is done but I'm assuming authenticating to IdM would have to be done.
For all those interested, I have implemented the Java code snippet listed by Vladimir in XPRESS.
idmSessionHandle - is the LighthouseContext for the current session
currentOUDN - is a string representing the AD DN of the OU to be created
<defvar name='resourceAdapterHandle'/>
<set name='resourceAdapterHandle'>
<invoke name='findAdapter' class='com.waveset.provision.ResourceOp'>
<ref>resourceObject</ref>
<invoke name='getCache'>
<ref>idmSessionHandle</ref>
</invoke>
</invoke>
</set>
<defvar name='newOUGenericObject'/>
<set name='newOUGenericObject'>
<new class='com.waveset.object.GenericObject'>
<map>
<s>objectId</s>
<ref>currentOUDN</ref>
<s>objectType</s>
<s>Organizational Unit</s>
</map>
</new>
</set>
<invoke name='createObject'>
<ref>resourceAdapterHandle</ref>
<ref>newOUGenericObject</ref>
<new class='java.util.HashMap'/>
</invoke>
[...]Although the above works well, to create OUs in AD, I have not yet tested its real life application with regards to the initial mass loading of users (from LDAP (auth source) to IdM to AD) and ActiveSyncing. My concerns are two threads attempting to create the OU at roughly the same time, the first succeeds, and second one fails because AD will reply with the fact that the object already exists. The workaround would be to do a recheck of the existence of the OU, after a failure was encountered. This ties into exception handling in general in this approach.
If anyone can contribute exception handling and possibly a create with retries approach, to the above code, I'd appreciate it.
Cheers. -
How do I implement this in BI Integrated Planning
Hi All,
I need to capture data in the following format I have data of Deliveries Qty by Plant & Material Type in DeliveredQty. The DeliveredQty is the delivqty as of a given date. I need to based on the DeliveredQty calculate the DelivQtyMonth. So if the DelivQty as of today (3rd July) is 1000 EA for 3 days in the current month. The user will provide as input the remaining working days in the month and the number of days in the month elapsed.
I need to calculate the DelvQtyMonth as follows = DeliveredQty + DeliveredQty/DaysElapsed * DaysRemaining
The user wants to enter the DaysElapsed and the DaysRemaining in variables.
Then I need to display the data in the following format:
Plant MaterialType DeliveredQty DelvQtyMonth ManualDelvQty
All data is display only columns except for ManualDelvQty I should provide for user to input data to this column.
I have created a realtime plan cube with plant materialtype DeliveredQty in it.
Can you kindly share your inputs how I can implement the DelvQtyMonth based on a variable at run time and ManualDelvQty.
How can I implement this scenario in BI Integrated Planning.
So far all I have done is implement a real time cube for capturing the data. I have data for plant materialtype Delivqty for a given fiscal year period. How can I copy this into the plan cube from integrated planning.
Also, how do I implement the variables for DaysElapsed and DaysRemaining for the user to input values to it.
Your help is greatly appreciated.
Thanks
KarenHi,
can you look at this
[http://help.sap.com/saphelp_nw04/helpdata/en/44/584041b02e4c0de10000000a1550b0/frameset.htm]
Regards,
muralidhar -
How do I implement aggregates on BPS?
Hi everyone!
Working with BW-BPS 3.5 I have the following question: Within an input layout I create planning data on a daily basis. In an output layout I then want to view my planning data aggregated on a monthly level.
How would I implement this aggregation? Do I use the aggregate functionality of BW? Or do I use any BPS aggregation functionality (like FOX or something else)?
Thanks in advance, DanielHi Daniel,
you need nothing special.
Input Layout: Use planning level with time characteristic day
Output Layout: Use planning level with time characteristic month
In the planning area create a derivation day -> month. The the system does the aggregation for you.
Regards,
Gregor -
How can we implement BADI FI_HEADER_SUB_1300
Hi,
I have created a field in BKPF table , now I have to update this field while using FB01 tcode. can any one tell me how can i update this field using BADI "BADI FI_HEADER_SUB_1300". please give the steps if possible
thanksPankaj,
You need to create a implementation for the BADI using SE18 transaction. However, before that look at the parameters of the method of the BADI and see if your Custom field has reflected in there or not. Secondly, if it has, then whether you can modify the data or its in importin mode.
If these two conditions are satisfied, then you can implement the method and update the field and it should reflect in the table.
Regards,
Ravi
Note : Please mark the helpful answers. -
How can we implement SSO in SP2013
Hi,
How can we implement SSO from other applications to SP2013 web app.
Please suggest with an example.
Thanks,
Krishna
KrishnasandeepBasically it is used to store credentials in a safe way. My article at
http://sharepointdragons.com/2012/02/13/creating-a-bcs-net-assembly-connector/ discusses an example where it is leveraged within other SharePoint technology (BCS) but you can also use the object model to retrieve credentials and get login pages etc. for
free provided by the Secure Store Service framework.
Kind regards,
Margriet Bruggeman
Lois & Clark IT Services
web site: http://www.loisandclark.eu
blog: http://www.sharepointdragons.com -
How i can implement this enhancement
it from va02 how i can change it,or wrote in it...
this is standard....
ENHANCEMENT-POINT SAPMV45A_01 SPOTS ES_SAPMV45A STATIC.
$$-Start: SAPMV45A_01----
$$
ENHANCEMENT 93 /SAPMP/SALES_ORDER_V_SAPMV45A. "active version
*MILL 0008 01 TSCH Kundenauftragsversion
INCLUDE MILL_VS_MV45A. "item versioning
INCLUDE MILL_CAD_MV45A. "CAD interface
ENDENHANCEMENT.Hi
Its an enhacement point for which you can create an implementation and attach your custom code at this particular location.
For doing this you need to go to enhacement mode and then right click on this line and select create, then give implementation name and do the coing in the enhancement point implementation.
for more details and step by step procedure check out thomas weiss blogs.
/people/thomas.weiss/blog/2006/01/24/what-the-new-enhancement-framework-is-for-150-its-basic-structure-and-elements-for-beginners
/people/thomas.weiss/blog/2006/03/15/the-new-enhancement-framework-part-2--what-else-you-need-to-know-before-building-an-enhancement
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
This one below would be of help to you specifically however u wud have to go through the previous ones to have better understanding.
/people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
regards,
Vikas
Always reward points to useful suggestions. -
How i can implement the desired format in ODI ??
Hi
i want to export data from table to file
but in file i have specific format like
Account Number :A123456
Cutomer 1
Customer 2
Customer 3
Account Number : B999999
Cutomer 4
Customer 5
Customer N
How i can implement this
plz suggest me possible solutions for this
thanksHi,
I have done this before by using three files. The first file contains the header row - in your case, I would create a variable which selects the account number via rownum for example (you could add another variable so you could increment the rownum until exhausted). Then in the first ODISqlUnload
select 'Account Number :'||#variable.account_number
from table.
This creates you header row in a file
Then, in a second ODISqlUnload, select the 'Customer' data for the account number into another file
select customer_details
from table
where account_number = #variable.account_number.
So you end up with a list :
Customer 1
Customer 2
etc etc
Then using an ODIFileAppend, append the two files created above in the final output file. Then loop round in a package for all your account numbers, using the two temp files, then append to the final output.
Your final output file, then looks like:
Account Number :A123456
Customer 1
Customer 2
Customer 3
Account Number : B999999
Customer 4
Customer 5 -
How can we implement a regular expression in if condition?
hi,
could any body tell me how can we implement regular expression in if condition?
if a page contains links with .html,.pdf,.img etc as href paths then i should only retrieve the links whose href path is .pdf .
any idea
thanks in advancePasumarthi,
Here is some VBA that should do the trick. This was created against the empirix homepage. www.empirix.com.
Private Sub RSWVBAPage_afterPlay()
Dim objReg As New RegExp
Dim objMatch As Match
Dim doc As String
'Get the html
RSWApp.GetHtml doc
'set parameters for regular expression searching and matching
With objReg
'find all occurances
.Global = True
.IgnoreCase = True
'regular expression pattern specified here
.Pattern = "a href=(.+?)pdf"""
End With
'Loop through the matches and write them to the results log.
For Each objMatch In objReg.execute(doc)
RSWApp.WriteToLog objMatch.Value
Next
Set objReg = Nothing
End Sub
Maybe you are looking for
-
How to generate a report from data entered by users in XML forms
hi, i have a requirement to generate report from xml forms which are created using XML forms Builder and stored in Km folders. management want to see in a single report all the activities of all the users in the xml form in such a way that one row
-
Could not copy song to Ipod Touch due to unknown error (-50)
I just received a new third generation Ipod Touch as a gift and installed the latest iTunes directly from Apple's website onto my computer (Windows 7 32-bit). I added my music folder to the library and imported an m3u playlist to iTunes. Then I conne
-
Hello all - I'm trying to use the DECODE function in a SQL statement I'm building but what I'm trying to do, I've never done before. Below is the portion that I'm struggling with in that I'm receiving an error message but can't understand why I am as
-
Hi- I have installed new UAT instance, after that i have registered CUstom Top in new instance(using same procedure which i have followed for Dev). For creting custom top i used following steps:- 1. Create directory structure. 2. Put necessary rdf an
-
How to Generate Information Errors in Generic Extractor Function Module
Hi, In my Generic Extractor logic I am reaching out to an additional table to get a field. I would like to produce an informational error or red error in the process monitor if I'm unable to get the field. Is this possible? How can I generate thes