Beruflich Dokumente
Kultur Dokumente
Welcome, Guest
Login
Register
Share
Tw eet
Like
Pappu Mehta
Thanks. Pappu Mehta Edited by: Pappu Kumar Mehta on Nov 18, 2011 3:38 AM
Wire Model
The wire model can be used to create running FPM application by pure configuration or at least with minimal coding effort. The runtime interdependencies between UIBBs are defined by configuration entities called wires which are based on reusable connector classes implementing the dependency semantics. The primary use cases for the wire model are object models with generic access interfaces (for example, ESF, BOPF, or BOL). A wire controls the runtime interdependencies between two UIBBs; that is, they determine the data content of the target UIBB depending on user interaction changing the outport of the source UIBB. Outports can be of type lead selection, selection or collection. For example, the execution of a search on a Search GUIBB will change its collection outport and may therefore change the data content of a result list displayed in a separate List GUIBB. Similarly, changing the lead selection in a list of sales orders may change the data content of another list displaying the associated sales order items. In order to be part of a wire model, a UIBB needs to implement a certain Web Dynpro interface which in turn provides a feeder model implementation. The FPM GUIBBs are automatically integrated if their feeder classes implement the feeder model interface. Application areas or object models define their own namespaces for which their connector classes, feeder model classes can be reused. Moreover, they typically need to provide a transaction handler class which manages transaction events like save, modify
scn.sap.com/message/10768608#10768608 1/44
12/9/13
or check and global message handling. Wires are defined on the level of the floorplan configuration. For each model UIBB contained in the floorplan configuration, a source UIBB with specified outport can be defined. Furthermore, a connector class and, potentially, connector parameters must be maintained. If the floorplan contains composite components (tabbed components), the model UIBBs contained in the tabbed components can also be wired. However, in order to provide better reusability of composite components, it is also possible to define intrinsic wiring for tabbed components. A tabbed component can define a model UIBB as a wire plug (this is usually a master UIBB), which serves as an entry point for the wiring of the tabbed component from the enveloping floorplan component. If a wire plug is configured for a tabbed UIBB, only the wire plug UIBB can be wired from outside.
Method
START
Method description
It is called at the starting of FPM application. It provides 3 things FPM Massage manger instance, Property bag of FPM Application, and Runtime information of FPM. Here, we can also specify application commit capability.
AFTER_FLUSH
This method is called after FLUSH has been called for all current UIBBs. It can be used to flush buffers.
AFTER_PROCESS_EVENT
This method is called after PROCESS_EVENT has been called for all current UIBBs. It can be used for handling transactional events for example SAVE or CHECK. Moreover, it can be used to collect messages which here not handled inside UIBBs and to forward them to the FPM message handler.
AFTER_PROCESS_BEFORE_OUTPUT
This method is called after PBO has been called for all current UIBBs. It can be used to collect messages at the latest possible point in time before screen output.
AFTER_NEEDS_CONFIRMATION
This
method
is
called
after
NEEDS_CONFIRMATION has been called for all UIBBs. It can be used to analyze and add confirmation requests. IS_DIRTY This method can be used to indicate a dirty state for the work protection mode.
Connector Class
scn.sap.com/message/10768608#10768608 2/44
12/9/13
The IF_FPM_CONNECTOR connector interface comprises an interface, IF_FPM_CONNECTOR_DEF, defining the access by the FPM framework and an interface IF_FPM_CONNECTOR_RUN for runtime access by the application feeder model. The definition interface possesses a static attribute, SV_NAMESPACE, which should be filled with the namespace (ex. FPM_DEMO or BOL or user specific) in the class constructor of a connector implementation (for example in a common superclass). Method for IF_FPM_CONNECTOR_DEF
Method
GET_PARAMETER_LIST
Method description
Connector classes can be parameterized to flexibly control their runtime behavior. The parameter values are maintained for the wires in the FPM configuration editor. A parameter is defined by a name, its data type and a descriptive text.
INITIALIZE
With this method the connector is initialized with the parameter values. This method is called by the FPM runtime upon UIBB instantiation.
GET_PARAMETER_VALUE_SET
With this method, a connector implementation can provide a value set for each parameter. For example, in an object model a parameter may carry the association name. For a wire between specified UIBBs, the method may provide a list of all associations between the source and target business object node.
SET_INPUT
Receives an object reference carrying the actual data of the connected outport. This method is called before the UIBB s PBO by the FPM runtime.
Method
GET_OUTPUT
Method description
Returns an object reference carrying the actual data to be displayed by a UIBB. This method can be called by the UIBB at PBO for example in the GET_DATA method of a feeder class.
IS_CREATE_ALLOWED
Returns a Boolean indicator whether entity creation is allowed. This method can be called by the UIBB at PBO to dynamically control the activation of create buttons for example to maintain the action usage parameter in the GET_DATA method of a feeder class.
CREATE_ENTITY
Creates and returns a data entity which can be arbitrarily typed. This method can be called by an action handler of the UIBB for example in the PROCESS_EVENT method of a feeder class.
There are total seven methods in connector interface IF_FPM_CONNECTOR that should be implemented in connector class. We should also create class constructor for setting Namespace. SET_OUTPUT and GET_OUTPUT is bridge between FPM components, so these methods should be implemented properly.
scn.sap.com/message/10768608#10768608 3/44
12/9/13
Method
GET_NAMESPACE SET_CONNECTOR
Method description
Returns the namespace of the underlying application area. Method is called at design time. Called upon instantiation of a UIBB. It hands over the connector (reference IF_FPM_CONNECTOR_RUN) which accessed for data retrieval at PBO. can to be
GET_INPORT_KEY
Returns a reference to an object key which characterizes the meta data type expected at the import (for example the business object node). Method is called at design time. Provides a table of outports comprising the object key, the port type an identifier and a descriptive text. Method is called at design time. Returns an object reference carrying the actual data identifier for a certain port. Method is called at runtime.
GET_OUTPORTS
GET_OUTPORT_DATA
Assistance class can also be used as Feeder Model Class and reference WD_ASSIT can used as Feeder model instance. Ex: M E T H O Dg e t _ m o d e l _ a p i.
r o _ f e e d e r _ m o d e l=w d _ a s s i s t . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
4/44
12/9/13
E N D C L A S S .
C L A S SZ C L _ M Y _ T R A N _ H A N D L E RI M P L E M E N T A T I O N .
* < S I G N A T U R E > +
scn.sap.com/message/10768608#10768608
5/44
12/9/13
scn.sap.com/message/10768608#10768608
6/44
12/9/13
C L A S SZ C L _ M Y _ W I R E _ C O N N E C T O RI M P L E M E N T A T I O N .
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ C O N N E C T O R _ D E F ~ G E T _ P A R A M E T E R _ L I S T . * -n op a r a m e t e r s R E T U R N . e n d m e t h o d .
* < S I G N A T U R E > + * | I n s t a n c e P u b l i c M e t h o d Z C L _ M Y _ W I R E _ C O N N E C T O R > I F _ F P M _ C O N N E C T O R _ D E F ~ G E T _ P A R A M E T E R _ V A L U E _ S E T * + + * |[ > ] I V _ P A R A M E T E R _ N A M E F P M _ P A R A M E T E R _ N A M E *|[ > ]I R _ O B J E C T _ K E Y _ S O U R C E *|[ > ]I R _ O B J E C T _ K E Y _ T A R G E T *|[ < ] E T _ V A L U E _ S E T F P M _ T _ P A R A M E T E R _ V A L U E _ S E T T Y P E T Y P ER E FT OD A T A T Y P ER E FT OD A T A T Y P E
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ c o n n e c t o r _ d e f ~ g e t _ p a r a m e t e r _ v a l u e _ s e t . * -n op a r a m e t e r s R E T U R N . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
7/44
12/9/13
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ c o n n e c t o r _ r u n ~ c r e a t e _ e n t i t y . * -n oc r e a t i o n R E T U R N . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
8/44
12/9/13
scn.sap.com/message/10768608#10768608
9/44
12/9/13
C L A S SZ C L _ G U I B B _ L I S TI M P L E M E N T A T I O N .
* < S I G N A T U R E > + *|I n s t a n c eP r i v a t eM e t h o dZ C L _ G U I B B _ L I S T > G E T _ C O L L E C T I O N * + + * + < / S I G N A T U R E > M E T H O Dg e t _ c o l l e c t i o n . I Fm o _ c o n n e c t o rI SB O U N D . m o _ c o l l e c t i o n? =m o _ c o n n e c t o r > g e t _ o u t p u t () . E N D I F . I Fm o _ c o l l e c t i o nI SB O U N D . I Fm o _ c o l l e c t i o n > m v _ l e a d _ s e l e c t i o n _ i n d e xI SI N I T I A L . m o _ c o l l e c t i o n > s e t _ l e a d _ s e l e c t i o n _ i n d e x (1) . E N D I F . E N D I F . *I n i n t i a lt i m e I Fm o _ c o l l e c t i o nI SI N I T I A L . C R E A T EO B J E C Tm o _ c o l l e c t i o n . m o _ c o l l e c t i o n > s e t _ l e a d _ s e l e c t i o n _ i n d e x (1) . E N D I F . E N D M E T H O D .
* + +
scn.sap.com/message/10768608#10768608
10/44
12/9/13
*|[ < ( ) ] R V _ N A M E S P A C E F P M _ M O D E L _ N A M E S P A C E
* + + *|[ < ]E T _ O U T P O R T T Y _ T _ P O R T T Y P E
* + + * |[ > ] I O _ C O N N E C T O R I F _ F P M _ C O N N E C T O R _ R U N T Y P ER E F T O
scn.sap.com/message/10768608#10768608
11/44
12/9/13
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ F L U S H . e n d m e t h o d .
* + + *| [ > ]I V _ E V E N T I D C L _ F P M _ E V E N T * | [ > ]I T _ S E L E C T E D _ F I E L D S F P M G B _ T _ S E L E C T E D _ F I E L D S ( o p t i o n a l ) * | [ > ] I V _ R A I S E D _ B Y _ O W N _ U I B O O L E _ D ( o p t i o n a l ) *| [ > ]I V _ V I S I B L E _ R O W S I ( o p t i o n a l ) *|[ < ]E T _ M E S S A G E S F P M G B _ T _ M E S S A G E S *| [ < ]E V _ D A T A _ C H A N G E D B O O L E _ D * | [ < ] E V _ F I E L D _ U S A G E _ C H A N G E D B O O L E _ D * | [ < ] E V _ A C T I O N _ U S A G E _ C H A N G E D B O O L E _ D * | [ < ] E V _ S E L E C T E D _ L I N E S _ C H A N G E D B O O L E _ D *|[ < > ]C T _ D A T A *| [ < > ]C T _ F I E L D _ U S A G E F P M G B _ T _ F I E L D U S A G E *| [ < > ]C T _ A C T I O N _ U S A G E F P M G B _ T _ A C T I O N U S A G E * |[ < > ] C T _ S E L E C T E D _ L I N E S R S T A B I X T A B *| [ < > ]C V _ L E A D _ I N D E X S Y T A B I X *|[ < > ]C V _ F I R S T _ V I S I B L E _ R O W T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E I T Y P E R E FT O T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E D A T A
* + < / S I G N A T U R E > M E T H O DI F _ F P M _ G U I B B _ L I S T ~ G E T _ D A T A . D A T A :l v _ s e l _ i n d e x T Y P Ei , l v _ c o l T Y P Es t r i n g . * -g e td a t a g e t _ c o l l e c t i o n () .
scn.sap.com/message/10768608#10768608
12/44
12/9/13
* + + * | [ > ] I O _ L A Y O U T _ C O N F I G I F _ F P M _ G U I B B _ L I S T _ C O N F I G T Y P E R E F T O
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ G E T _ D E F A U L T _ C O N F I G . e n d m e t h o d .
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ G E T _ D E F I N I T I O N . D A T A :l s _ f i e l d _ u s a g eT Y P Ef p m g b _ s _ l i s t f i e l d _ d e s c r , l t _ f x d v a lT Y P EW D R _ C O N T E X T _ A T T R _ V A L U E _ L I S T , l s _ f x d v a lT Y P Ew d r _ c o n t e x t _ a t t r _ v a l u e . e o _ f i e l d _ c a t a l o g? =c l _ a b a p _ s t r u c t d e s c r = > d e s c r i b e _ b y _ d a t a ( m t _ d i s p l a y) . * * f i e l dd e s c r i p t i o n * l s _ f i e l d _ u s a g e n a m e=' T E X T R E F ' . * l s _ f i e l d _ u s a g e t e c h n i c a l _ f i e l d=' X ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * C L E A Rl s _ f i e l d _ u s a g e t e c h n i c a l _ f i e l d . * * l s _ f i e l d _ u s a g e n a m e=' L I N K T O U R L ' . * l s _ f i e l d _ u s a g e t e x t _ r e f=' T E X T R E F ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' l i n k T o U R L ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' T E X T V I E W ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' T e x t V i e w ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' I N P U T F I E L D ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' I n p u t F i e l d ' .
scn.sap.com/message/10768608#10768608
13/44
12/9/13
*
* + + *|[ > ] I O _ E V E N T C L _ F P M _ E V E N T * | [ > ] I V _ R A I S E D _ B Y _ O W N _ U I B O O L E _ D ( o p t i o n a l ) *| [ > ]I V _ L E A D _ I N D E X S Y T A B I X *| [ > ]I V _ E V E N T _ I N D E X S Y T A B I X * |[ > ] I T _ S E L E C T E D _ L I N E S R S T A B I X T A B *|[ < ]E V _ R E S U L T F P M _ E V E N T _ R E S U L T *|[ < ]E T _ M E S S A G E S F P M G B _ T _ M E S S A G E S T Y P ER E FT O T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E
scn.sap.com/message/10768608#10768608
14/44
12/9/13
) . * -a l lo t h e re v e n t s W H E NO T H E R S . E N D C A S E . e n d m e t h o d .
* + + * | [ < ( ) ]R T _ P A R A M E T E R _ D E S C R F P M G B _ T _ P A R A M _ D E S C R T Y P E
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B ~ G E T _ P A R A M E T E R _ L I S T . e n d m e t h o d .
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ g u i b b ~ i n i t i a l i z e . s e t _ u p _ p o r t s () . E N D M E T H O D .
* + < / S I G N A T U R E > m e t h o dS E T _ U P _ P O R T . F I E L D S Y M B O L S : < l s _ p o r t >L I K EL I N EO Fm t _ o u t p o r t , < l s _ o b j e c t _ k e y >L I K Em s _ o b j e c t _ k e y . * -c o l l e c t i o no u t p o r t A P P E N DI N I T I A LL I N ET Om t _ o u t p o r tA S S I G N I N G< l s _ p o r t > . < l s _ p o r t > t y p e=i v _ p o r t _ t y p e . C R E A T ED A T A< l s _ p o r t > o b j e c t _ k e yL I K Em s _ o b j e c t _ k e y . A S S I G N< l s _ p o r t > o b j e c t _ k e y > *T O< l s _ o b j e c t _ k e y > . < l s _ o b j e c t _ k e y >=m s _ o b j e c t _ k e y . < l s _ p o r t > i d e n t i f i e r=m s _ o b j e c t _ k e y . < l s _ p o r t > d e s c r i p t i o n=m v _ p o r t _ d e s c r i p t i o n .
scn.sap.com/message/10768608#10768608
15/44
12/9/13
e n d m e t h o d .
* < S I G N A T U R E > + *|I n s t a n c eP r o t e c t e dM e t h o dZ C L _ G U I B B _ L I S T > S E T _ U P _ P O R T S * + + * + < / S I G N A T U R E > M E T H O Ds e t _ u p _ p o r t s . m v _ p o r t _ d e s c r i p t i o n=' s e l e c t i o no u t p o r t ' . * -s e l e c t i o no u t p o r t s e t _ u p _ p o r t ( i f _ f p m _ f e e d e r _ m o d e l = > c s _ p o r t _ t y p e s e l e c t i o n ) . m v _ p o r t _ d e s c r i p t i o n=' l e a ds e l e c t i o no u t p o r t ' . * -l e a ds e l e c t i o no u t p o r t s e t _ u p _ p o r t ( i f _ f p m _ f e e d e r _ m o d e l = > c s _ p o r t _ t y p e l e a d _ s e l e c t i o n) . E N D M E T H O D . E N D C L A S S .
C L A S SZ C L _ F R E E G U I B B _ A S S I TI M P L E M E N T A T I O N .
scn.sap.com/message/10768608#10768608
16/44
12/9/13
* + + *|[ < ( ) ] R V _ N A M E S P A C E F P M _ M O D E L _ N A M E S P A C E T Y P E
scn.sap.com/message/10768608#10768608
17/44
12/9/13
* + + *|[ < ]E T _ O U T P O R T T Y _ T _ P O R T T Y P E
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ f e e d e r _ m o d e l ~ g e t _ o u t p o r t s . E N D M E T H O D .
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ f e e d e r _ m o d e l ~ g e t _ o u t p o r t _ d a t a . E N D M E T H O D .
* + + * |[ > ] I O _ C O N N E C T O R I F _ F P M _ C O N N E C T O R _ R U N T Y P ER E F T O
12/9/13
scn.sap.com/message/10768608#10768608
19/44
12/9/13
* + + * + < / S I G N A T U R E > M E T H O Dc o n s t r u c t o r . c r e a t e _ d a t a () . E N D M E T H O D .
* + + *|[ < ( ) ]R S _ D A T A T Y _ D A T A T Y P E
* + < / S I G N A T U R E > m e t h o dG E T _ L E A D _ S E L E C T I O N . R E A DT A B L Em t _ d a t aI N D E Xm v _ l e a d _ s e l e c t i o n _ i n d e x I N T Or s _ d a t a . e n d m e t h o d .
* + +
scn.sap.com/message/10768608#10768608
20/44
12/9/13
*|[ < ( ) ]R V _ C O U N T
C H E C Km t _ d a t aI SN O TI N I T I A L . I Fi v _ i n d e xI SI N I T I A L . l v _ i n d e x=m v _ l e a d _ s e l e c t i o n _ i n d e x . E L S E . l v _ i n d e x=i v _ i n d e x . E N D I F . R E A DT A B L Em t _ d a t aI N D E Xl v _ i n d e xA S S I G N I N G< l s _ d a t a > . C H E C Ks y s u b r c=0 . A S S I G N C O M P O N E N T i v _ a t t r i b u t e O F S T R U C T U R E < l s _ d a t a > T O < l v _ v a l u e > . C H E C Ks y s u b r c=0 . < l v _ v a l u e >=i _ v a l u e . m v _ i s _ d i r t y=a b a p _ t r u e . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
21/44
12/9/13
*|[ > ]I T _ D A T A
2466 View s
Manishekhar Singh Nov 26, 2012 7:48 AM (in response to Pappu Mehta) Correct Answer Re: Create Wire Model in webdynpro FPM.
Wire Model
The wire model can be used to create running FPM application by pure configuration or at least with minimal coding effort. The runtime interdependencies between UIBBs are defined by configuration entities called wires which are based on reusable connector classes implementing the dependency semantics. The primary use cases for the wire model are object models with generic access interfaces (for example, ESF, BOPF, or BOL). A wire controls the runtime interdependencies between two UIBBs; that is, they determine the data content of the target UIBB depending on user interaction changing the outport of the source UIBB. Outports can be of type lead selection, selection or collection. For example, the execution of a search on a Search GUIBB will change its collection outport and may therefore change the data content of a result list displayed in a separate List GUIBB. Similarly, changing the lead selection in a list of sales orders may change the data content of another list displaying the associated sales order items. In order to be part of a wire model, a UIBB needs to implement a certain Web Dynpro interface which in turn provides a feeder model implementation. The FPM GUIBBs are automatically integrated if their feeder classes implement the feeder model interface.
scn.sap.com/message/10768608#10768608 22/44
12/9/13
Application areas or object models define their own namespaces for which their connector classes, feeder model classes can be reused. Moreover, they typically need to provide a transaction handler class which manages transaction events like save, modify or check and global message handling. Wires are defined on the level of the floorplan configuration. For each model UIBB contained in the floorplan configuration, a source UIBB with specified outport can be defined. Furthermore, a connector class and, potentially, connector parameters must be maintained. If the floorplan contains composite components (tabbed components), the model UIBBs contained in the tabbed components can also be wired. However, in order to provide better reusability of composite components, it is also possible to define intrinsic wiring for tabbed components. A tabbed component can define a model UIBB as a wire plug (this is usually a master UIBB), which serves as an entry point for the wiring of the tabbed component from the enveloping floorplan component. If a wire plug is configured for a tabbed UIBB, only the wire plug UIBB can be wired from outside.
Method
START
Method description
It is called at the starting of FPM application. It provides 3 things FPM Massage manger instance, Property bag of FPM Application, and Runtime information of FPM. Here, we can also specify application commit capability. This method is called after FLUSH has been called for all current UIBBs. It can be used to flush buffers. This method is called after PROCESS_EVENT has been called for all current UIBBs. It can be used for handling transactional events for example SAVE or CHECK. Moreover, it can be used to collect messages which here not handled inside UIBBs and to forward them to the FPM message handler. This method is called after PBO has been called for all current UIBBs. It can be used to collect messages at the latest possible point in time before screen output. This method is called after NEEDS_CONFIRMATION has been called for all UIBBs. It can be used to analyze and add confirmation requests. This method can be used to indicate a dirty state for the work protection mode.
AFTER_FLUSH
AFTER_PROCESS_EVENT
AFTER_PROCESS_BEFORE_OUTPUT
AFTER_NEEDS_CONFIRMATION
IS_DIRTY
Connector Class
scn.sap.com/message/10768608#10768608 23/44
12/9/13
The IF_FPM_CONNECTOR connector interface comprises an interface, IF_FPM_CONNECTOR_DEF, defining the access by the FPM framework and an interface IF_FPM_CONNECTOR_RUN for runtime access by the application feeder model. The definition interface possesses a static attribute, SV_NAMESPACE, which should be filled with the namespace (ex. FPM_DEMO or BOL or user specific) in the class constructor of a connector implementation (for example in a common superclass). Method for IF_FPM_CONNECTOR_DEF
Method
GET_PARAMETER_LIST
Method description
Connector classes can be parameterized to flexibly control their runtime behavior. The parameter values are maintained for the wires in the FPM configuration editor. A parameter is defined by a name, its data type and a descriptive text. With this method the connector is initialized with the parameter values. This method is called by the FPM runtime upon UIBB instantiation. With this method, a connector implementation can provide a value set for each parameter. For example, in an object model a parameter may carry the association name. For a wire between specified UIBBs, the method may provide a list of all associations between the source and target business object node. Receives an object reference carrying the actual data of the connected outport. This method is called before the UIBB s PBO by the FPM runtime.
INITIALIZE
GET_PARAMETER_VALUE_SET
SET_INPUT
Method
GET_OUTPUT
Method description
Returns an object reference carrying the actual data to be displayed by a UIBB. This method can be called by the UIBB at PBO for example in the GET_DATA method of a feeder class.
IS_CREATE_ALLOWED
Returns a Boolean indicator whether entity creation is allowed. This method can be called by the UIBB at PBO to dynamically control the activation of create buttons for example to maintain the action usage parameter in the GET_DATA method of a feeder class. Creates and returns a data entity which can be arbitrarily typed. This method can be called by an action handler of the UIBB for example in the PROCESS_EVENT method of a feeder class.
CREATE_ENTITY
There are total seven methods in connector interface IF_FPM_CONNECTOR that should be implemented in connector class. We should also create class constructor for setting Namespace. SET_OUTPUT and GET_OUTPUT is bridge between FPM components, so these methods should be implemented properly.
12/9/13
Wire model is implemented on Web Dynpro component by implementing IF_FPM_UIBB_MODEL Web Dynpro interface. It contains only one method GET_MODEL_API which is used to set FPM Feeder Model for Free GUIBBs. It contains only one parameter RO_FEEDER_MODEL. So, we have to create a FPM Feeder Model class and assign to that parameter. FPM Feeder Model Class Interface IF_FPM_FEEDER_MODEL is implemented for creating Feeder Model Class. Method for IF_FPM_ FEEDER_MODEL
Method
GET_NAMESPACE SET_CONNECTOR
Method description
Returns the namespace of the underlying application area. Method is called at design time. Called upon instantiation of a UIBB. It hands over the connector (reference to IF_FPM_CONNECTOR_RUN) which can be accessed for data retrieval at PBO. Returns a reference to an object key which characterizes the meta data type expected at the import (for example the business object node). Method is called at design time. Provides a table of outports comprising the object key, the port type an identifier and a descriptive text. Method is called at design time. Returns an object reference carrying the actual data identifier for a certain port. Method is called at runtime.
GET_INPORT_KEY
GET_OUTPORTS
GET_OUTPORT_DATA
Assistance class can also be used as Feeder Model Class and reference WD_ASSIT can used as Feeder model instance. Ex: M E T H O Dg e t _ m o d e l _ a p i.
r o _ f e e d e r _ m o d e l=w d _ a s s i s t . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
25/44
12/9/13
scn.sap.com/message/10768608#10768608
26/44
12/9/13
C L _ F P M _ E V E N T *| [ < ( ) ]R V _ R E S U L T F P M _ E V E N T _ R E S U L T
scn.sap.com/message/10768608#10768608
27/44
12/9/13
C L A S SZ C L _ M Y _ W I R E _ C O N N E C T O RI M P L E M E N T A T I O N .
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ C O N N E C T O R _ D E F ~ G E T _ P A R A M E T E R _ L I S T . * -n op a r a m e t e r s R E T U R N . e n d m e t h o d .
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ c o n n e c t o r _ d e f ~ g e t _ p a r a m e t e r _ v a l u e _ s e t . * -n op a r a m e t e r s R E T U R N . E N D M E T H O D .
* + -
scn.sap.com/message/10768608#10768608
28/44
12/9/13
* | [ > ] I T _ P A R A M E T E R _ V A L U E F P M _ T _ P A R A M E T E R _ V A L U E * |[ > ] I V _ P O R T _ T Y P E F P M _ M O D E L _ P O R T _ T Y P E
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ c o n n e c t o r _ r u n ~ c r e a t e _ e n t i t y . * -n oc r e a t i o n R E T U R N . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
29/44
12/9/13
A N Y ( o p t i o n a l ) * |[ < ( ) ] R V _ A L L O W E D A B A P _ B O O L
scn.sap.com/message/10768608#10768608
30/44
12/9/13
E N D C L A S S .
C L A S SZ C L _ G U I B B _ L I S TI M P L E M E N T A T I O N .
* < S I G N A T U R E > + *|I n s t a n c eP r i v a t eM e t h o dZ C L _ G U I B B _ L I S T > G E T _ C O L L E C T I O N * + + * + < / S I G N A T U R E > M E T H O Dg e t _ c o l l e c t i o n . I Fm o _ c o n n e c t o rI SB O U N D . m o _ c o l l e c t i o n? =m o _ c o n n e c t o r > g e t _ o u t p u t () . E N D I F . I Fm o _ c o l l e c t i o nI SB O U N D . I Fm o _ c o l l e c t i o n > m v _ l e a d _ s e l e c t i o n _ i n d e xI SI N I T I A L . m o _ c o l l e c t i o n > s e t _ l e a d _ s e l e c t i o n _ i n d e x (1) . E N D I F . E N D I F . *I n i n t i a lt i m e I Fm o _ c o l l e c t i o nI SI N I T I A L . C R E A T EO B J E C Tm o _ c o l l e c t i o n . m o _ c o l l e c t i o n > s e t _ l e a d _ s e l e c t i o n _ i n d e x (1) . E N D I F . E N D M E T H O D .
* + + * |[ < ( ) ] R V _ N A M E S P A C E F P M _ M O D E L _ N A M E S P A C E T Y P E
scn.sap.com/message/10768608#10768608
31/44
12/9/13
* + + * |[ < ] E T _ O U T P O R T T Y _ T _ P O R T T Y P E
* + + * | [ > ] I O _ C O N N E C T O R I F _ F P M _ C O N N E C T O R _ R U N T Y P E R E F T O
* + + * | [ > ] I O _ L A Y O U T _ C O N F I G I F _ F P M _ G U I B B _ L I S T _ C O N F I G * |[ < ] E T _ M E S S A G E S F P M G B _ T _ M E S S A G E S T Y P E R E F T O T Y P E
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ C H E C K _ C O N F I G . e n d m e t h o d .
* < S I G N A T U R E > -
scn.sap.com/message/10768608#10768608
32/44
12/9/13
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ F L U S H . e n d m e t h o d .
* + + * | [ > ] I V _ E V E N T I D C L _ F P M _ E V E N T * | [ > ] I T _ S E L E C T E D _ F I E L D S F P M G B _ T _ S E L E C T E D _ F I E L D S ( o p t i o n a l ) * | [ > ] I V _ R A I S E D _ B Y _ O W N _ U I B O O L E _ D ( o p t i o n a l ) * | [ > ] I V _ V I S I B L E _ R O W S I ( o p t i o n a l ) * |[ < ] E T _ M E S S A G E S F P M G B _ T _ M E S S A G E S *|[ < ]E V _ D A T A _ C H A N G E D *|[ < ]E V _ F I E L D _ U S A G E _ C H A N G E D *|[ < ]E V _ A C T I O N _ U S A G E _ C H A N G E D *|[ < ]E V _ S E L E C T E D _ L I N E S _ C H A N G E D *|[ < > ]C T _ D A T A * | [ < > ] C T _ F I E L D _ U S A G E F P M G B _ T _ F I E L D U S A G E * | [ < > ] C T _ A C T I O N _ U S A G E F P M G B _ T _ A C T I O N U S A G E * | [ < > ] C T _ S E L E C T E D _ L I N E S R S T A B I X T A B *|[ < > ]C V _ L E A D _ I N D E X *|[ < > ]C V _ F I R S T _ V I S I B L E _ R O W T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E T Y P E S Y T A B I X I T Y P E R E F T O T Y P E T Y P E T Y P E T Y P E B O O L E _ D B O O L E _ D B O O L E _ D B O O L E _ D D A T A
* + +
scn.sap.com/message/10768608#10768608
33/44
12/9/13
* | [ > ] I O _ L A Y O U T _ C O N F I G I F _ F P M _ G U I B B _ L I S T _ C O N F I G
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ G E T _ D E F A U L T _ C O N F I G . e n d m e t h o d .
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B _ L I S T ~ G E T _ D E F I N I T I O N . D A T A :l s _ f i e l d _ u s a g eT Y P Ef p m g b _ s _ l i s t f i e l d _ d e s c r , l t _ f x d v a lT Y P EW D R _ C O N T E X T _ A T T R _ V A L U E _ L I S T , l s _ f x d v a lT Y P Ew d r _ c o n t e x t _ a t t r _ v a l u e . e o _ f i e l d _ c a t a l o g ? = c l _ a b a p _ s t r u c t d e s c r = > d e s c r i b e _ b y _ d a t a ( m t _ d i s p l a y) . * * f i e l dd e s c r i p t i o n * l s _ f i e l d _ u s a g e n a m e=' T E X T R E F ' . * l s _ f i e l d _ u s a g e t e c h n i c a l _ f i e l d=' X ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * C L E A Rl s _ f i e l d _ u s a g e t e c h n i c a l _ f i e l d . * * l s _ f i e l d _ u s a g e n a m e=' L I N K T O U R L ' . * l s _ f i e l d _ u s a g e t e x t _ r e f=' T E X T R E F ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' l i n k T o U R L ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' T E X T V I E W ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' T e x t V i e w ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' I N P U T F I E L D ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' I n p u t F i e l d ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' L I N K T O A C T I O N ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' L i n k T o A c t i o n ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' B U T T O N ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' B u t t o n ' . * A P P E N Dl s _ f i e l d _ u s a g et oe t _ f i e l d _ d e s c r i p t i o n . * * l s _ f i e l d _ u s a g e n a m e=' I M A G E ' . * l s _ f i e l d _ u s a g e h e a d e r _ l a b e l=' I m a g e ' .
scn.sap.com/message/10768608#10768608
34/44
12/9/13
*
scn.sap.com/message/10768608#10768608
35/44
12/9/13
* + < / S I G N A T U R E > m e t h o dI F _ F P M _ G U I B B ~ G E T _ P A R A M E T E R _ L I S T . e n d m e t h o d .
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ g u i b b ~ i n i t i a l i z e . s e t _ u p _ p o r t s () . E N D M E T H O D .
* + < / S I G N A T U R E > m e t h o dS E T _ U P _ P O R T . F I E L D S Y M B O L S : < l s _ p o r t >L I K EL I N EO Fm t _ o u t p o r t , < l s _ o b j e c t _ k e y >L I K Em s _ o b j e c t _ k e y . * -c o l l e c t i o no u t p o r t A P P E N DI N I T I A LL I N ET Om t _ o u t p o r tA S S I G N I N G< l s _ p o r t > . < l s _ p o r t > t y p e=i v _ p o r t _ t y p e . C R E A T ED A T A< l s _ p o r t > o b j e c t _ k e yL I K Em s _ o b j e c t _ k e y . A S S I G N< l s _ p o r t > o b j e c t _ k e y > *T O< l s _ o b j e c t _ k e y > . < l s _ o b j e c t _ k e y >=m s _ o b j e c t _ k e y . < l s _ p o r t > i d e n t i f i e r=m s _ o b j e c t _ k e y . < l s _ p o r t > d e s c r i p t i o n=m v _ p o r t _ d e s c r i p t i o n . e n d m e t h o d .
scn.sap.com/message/10768608#10768608
36/44
12/9/13
C L A S SZ C L _ F R E E G U I B B _ A S S I TI M P L E M E N T A T I O N .
* < S I G N A T U R E > + *|I n s t a n c eP u b l i cM e t h o dZ C L _ F R E E G U I B B _ A S S I T > B E F O R E _ P B O * + + * + < / S I G N A T U R E > M E T H O Db e f o r e _ p b o . D A T A : l s _ d a t aT Y P EZ C L _ C O L L E C T I O N _ S U P P O R T = > t y _ d a t a , l o _ r t t iT Y P ER E FT Oc l _ a b a p _ s t r u c t d e s c r , l r _ d a t aT Y P ER E FT Od a t a , l t _ p r o pT Y P Ew d r _ c o n t e x t _ p r o p _ f o r _ n o d e _ t a b . F I E L D S Y M B O L S : < l s _ d a t a >T Y P Ea n y , < l s _ p r o p >L I K EL I N EO Fl t _ p r o p . C H E C Km o _ a t t r _ n o d eI SB O U N D . I Fm o _ c o n n e c t o rI SB O U N D . m o _ c o l l e c t i o n? =m o _ c o n n e c t o r > g e t _ o u t p u t () . E N D I F .
scn.sap.com/message/10768608#10768608
37/44
12/9/13
* + + * |[ < ( ) ] R V _ N A M E S P A C E F P M _ M O D E L _ N A M E S P A C E T Y P E
* + + * |[ < ] E T _ O U T P O R T T Y _ T _ P O R T T Y P E
scn.sap.com/message/10768608#10768608
38/44
12/9/13
* + < / S I G N A T U R E > M E T H O Di f _ f p m _ f e e d e r _ m o d e l ~ g e t _ o u t p o r t _ d a t a . E N D M E T H O D .
* + + * | [ > ] I O _ C O N N E C T O R I F _ F P M _ C O N N E C T O R _ R U N T Y P E R E F T O
scn.sap.com/message/10768608#10768608
39/44
12/9/13
C L A S SZ C L _ C O L L E C T I O N _ S U P P O R TI M P L E M E N T A T I O N .
* + + * + < / S I G N A T U R E > M E T H O Dc o n s t r u c t o r . c r e a t e _ d a t a () . E N D M E T H O D .
scn.sap.com/message/10768608#10768608
40/44
12/9/13
* + + * |[ > ] I V _ A T T R I B U T E T Y P E
scn.sap.com/message/10768608#10768608
41/44
12/9/13
N A M E _ K O M P *|[ > ]I _ V A L U E *| [ > ]I V _ I N D E X I ( o p t i o n a l )
C H E C Km t _ d a t aI SN O TI N I T I A L . I Fi v _ i n d e xI SI N I T I A L . l v _ i n d e x=m v _ l e a d _ s e l e c t i o n _ i n d e x . E L S E . l v _ i n d e x=i v _ i n d e x . E N D I F . R E A DT A B L Em t _ d a t aI N D E Xl v _ i n d e xA S S I G N I N G< l s _ d a t a > . C H E C Ks y s u b r c=0 . A S S I G N C O M P O N E N T i v _ a t t r i b u t e O F S T R U C T U R E < l s _ d a t a > T O < l v _ v a l u e > . C H E C Ks y s u b r c=0 . < l v _ v a l u e >=i _ v a l u e . m v _ i s _ d i r t y=a b a p _ t r u e . E N D M E T H O D .
* < S I G N A T U R E > + *|I n s t a n c eP u b l i cM e t h o dZ C L _ C O L L E C T I O N _ S U P P O R T > S E T _ T A B L E * + + *|[ > ]I T _ D A T A T Y P E T _ D A T A * + < / S I G N A T U R E > m e t h o dS E T _ T A B L E . m t _ d a t a=i t _ d a t a . I Fl i n e s (m t _ d a t a)>0 . m v _ l e a d _ s e l e c t i o n _ i n d e x=1 . E N D I F . e n d m e t h o d . E N D C L A S S .
scn.sap.com/message/10768608#10768608
42/44
12/9/13
e n d m e t h o d . m e t h o dP R O C E S S _ B E F O R E _ O U T P U T. w d _ a s s i s t > b e f o r e _ p b o () . e n d m e t h o d . m e t h o dW D D O I N I T.
D A T A : l o _ n o d eT Y P ER E FT Oi f _ w d _ c o n t e x t _ n o d e .
Like (0)
Manishekhar Singh Nov 26, 2012 8:20 AM (in response to Manishekhar Singh) Re: Create Wire Model in webdynpro FPM.
Dear all, Wiring between components can be done mainly by two type of FPM class. Transaction Handler class : It is implemented globally for a FPM Application. However, it is not mandatory to specify. So, you can make an application without using any transaction handler. Use interface IF_FPM_WIRE_MODEL_TRANSACTION Connector Class: It is main and mandatory part for implementing wire model. Here you can specify the Namespace and this namespace plays big role for passing data. Namespace: The definition interface possesses a static attribute, SV_NAMESPACE, which should be filled with the namespace (ex. FPM_DEMO or BOL or user specific such as XYZ_NS) in the class constructor of a connector implementation. Wire for Free UIBBs Wire model is implemented on Web Dynpro component by implementing IF_FPM_UIBB_MODEL Web Dynpro interface. It contains only one method GET_MODEL_API which is used to set FPM Feeder Model for Free GUIBBs. It contains only one parameter RO_FEEDER_MODEL. So, we have to create a FPM Feeder Model class and assign to that parameter. FPM Feeder Model Class Interface IF_FPM_FEEDER_MODEL is implemented for creating Feeder Model Class. Assistance class can also be used as Feeder Model Class and reference WD_ASSIT can used as Feeder model instance. Ex: METHOD get_model_api . ro_feeder_model = wd_assist. ENDMETHOD.
Wire for GUIBBs: Nothing special we need to do that. Interface IF_FPM_FEEDER_MODEL is also implemented on feeder class for getting port support. We need to set port manually using structure
scn.sap.com/message/10768608#10768608 43/44
12/9/13
IF_FPM_FEEDER_MODEL=>CS_PORT_TYPE. It contains three constants COLLECTION, SELECTION and LEAD_SELECTION. It should be properly configured. In addition of this, create collection handler class that will be passed between components for retrieving and fetching data.
Like (0)
Custodio de Oliveira Jun 20, 2013 6:03 AM (in response to Manishekhar Singh) Re: Create Wire Model in webdynpro FPM. Hi Manishekhar Singh ,
While I appreciate the info you provided in a few discussions, I've found it a bit complicated to follow and understand. Why don't you write a nice Blog or How To Document on this subject? Cheers, Custodio
Like (0)
Manishekhar Singh Jun 20, 2013 7:43 AM (in response to Custodio de Oliveira) Re: Create Wire Model in webdynpro FPM. Dear Custodio de Oliveira, I was also thinking to make some document. I will surely share with you. Thanks, Mani
Like (1)
Share
Tw eet
Like
Copyright
Follow SCN
scn.sap.com/message/10768608#10768608
44/44