Explain pls. FILED & MODULE in Module Pool
HI Experts,
Pls. clarify one simple doubt in <i><b>Module Pool</b></i>,
Wht is the functionality of,
1) CHAIN & ENDCHAIN
2) FILED & MODULE
thanq.
Hi,
To ensure that one or more PAI modules are only called when several screen fields meet a particular condition, you must combine the calls in the flow logic to form a processing chain. You define processing chains as follows:
CHAIN.
ENDCHAIN.
All flow logic statements between CHAIN and ENDCHAIN belong to a processing chain. The fields in the various FIELD statements are combined, and can be used in shared conditions.
CHAIN.
FIELD: <f1>, <f 2>,...
MODULE <mod1> ON CHAIN-INPUT|CHAIN-REQUEST.
FIELD: <g1>, <g 2>,...
MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
ENDCHAIN.
Re: chain-Endchain
When this command is used, all of the fields on the screen that belong to the processing chain (all of the fields listed in the field statements) are made ready for input again. Other fields are not ready for input. Whenever the MODULE statement appears within a processing chain, even if there is only one FIELD attached to it, all of the fields in the chain (not only the affected field) are made ready for input again, allowing the user to enter new values. If the fields in the processing chain are only checked once, the PAI processing continues directly after the FIELD statement, and the preceding modules are not called again.
CHAIN.
FIELD: <f1>, <f 2>,...
MODULE <mod1> ON CHAIN-INPUT|CHAIN-REQUEST.
FIELD: <g1>, <g 2>,...
MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
ENDCHAIN.
Check this out
http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbabbd35c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_47x200/helpdata/en/d1/801ca2454211d189710000e8322d00/frameset.htm
check the demo example
DEMO_DYNPRO_FIELD_CHAIN
Similar Messages
-
How to conduct training for Module Pool Programming
Hi everybody
I am going to conduct 5 days training for module pool programming.
Can you please provide me some suggestion about how to start & what r the steps?
Please provide suggestion for following
1) From where should I start
2) What should be the first step & subsequent steps
3) how should I get documentation & sample programs
thanksHello,
You can start the training by first explaining what is Module Pool programming, and why is it needed, how is it different from other forms of programming , like reports(SE38).
Then go on to explain how to create a MPP , i.e this you can do by giving the demo online, like:-
Goto SE80
Create a new program, and so on.
Talk about the various elements of MPP, such as the scree(which is also known as Dynpro), text elements, pushbuttons, tabstrips, etc, and how to use them in the program.
For sample programs and documentation, you can refer to help.sap.com, and search the documnetation for Module Pool Programming.
Thanks and regards,
Prerna -
Module pool domain text display info req?
hi
i had an req to show a filed MATNR on a screen in module pool pgm,there shd be a i/p filed for material,user can select the material from the list of available materials,along with the test to be displayed for the filed next to material nos.
the list of mateiral is based on the login user name.
i am able to display the material list,but text is not coming.
pls tell me how to show the text next to matnr no. in list.
i had used the code:
loop at itab_carrid.
clear:text.
CALL FUNCTION 'ADS2KIPBRO_GET_DOMAIN_TEXT'
EXPORTING
E_TABLE = 'MARA'
E_FIELD = 'MATNR'
E_VALUE = itab_carrid-matnr
IMPORTING
I_TEXT = text
EXCEPTIONS
ILLEGAL_INPUT = 1
DOMAIN_NOT_FOUND = 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.
move text to itab_carrid-text1.
modify itab_carrid transporting text1.
endloop.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR'
value_org = 'S'
TABLES
value_tab = itab_carrid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.hi
tell me,if i made a i/p field on screen from the data variable declared in my program
like :data:actvt(3) type c.
than on layout of screen:I/P filed-actvt.
now i want to provide the f4 to this.i had written the POV for the filed,the data is there in itab,but not poping out.
code:PROCESS ON VALUE-REQUEST.
FIELD ACTVT MODULE create_dropdown_box.
TYPES: BEGIN OF type_carrid,
actvt(3) type c,
text1(40) type c,
END OF type_carrid.
DATA: itab_carrid type Type_carrid occurs 0 with header line.
itab_carrid-actvt = '001'.
append itab_carrid.
itab_carrid-actvt = '002'.
append itab_carrid.
itab_carrid-actvt = '003'.
append itab_carrid.
itab_carrid-actvt = '004'.
append itab_carrid.
itab_carrid-actvt = '005'.
append itab_carrid.
itab_carrid-actvt = '006'.
append itab_carrid.
itab_carrid-actvt = '007'.
append itab_carrid.
endif.
clear:itab_carrid.
loop at itab_carrid.
clear:text.
CALL FUNCTION 'ADS2KIPBRO_GET_DOMAIN_TEXT'
EXPORTING
E_TABLE = 'YLOGON1'
E_FIELD = 'ACTVT'
E_VALUE = itab_carrid-actvt
IMPORTING
I_TEXT = text
EXCEPTIONS
ILLEGAL_INPUT = 1
DOMAIN_NOT_FOUND = 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.
move text to itab_carrid-text1.
modify itab_carrid transporting actvt text1.
endloop.
clear:itab_carrid.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ACTVT'
DYNPNR = SY-DYNNR
DYNPPROG = SY-REPID
value_org = 'S'
TABLES
value_tab = itab_carrid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
plz tell me how to pop out this help in screen. -
Can anybody Provide me good step by step procedure for module pool and smart for programming with screenshot.
my email Id is [email protected]Hi,
A module pool is a collection of screens, flow logic, menu bars and ABAP code that you use to build an application. Typically the transaction code that calls the application will refer to the module pool and the initial screen number.
-->What are the requirements a dialog program must fulfill ?
A dialog program must fulfill the following requirements
. a user friendly user interface
. format and consistency checks for the data entered by the user
. easy correction of input errors
. access to data by storing it in the database.
What are the basic components of dialog program ?
Screens (Dynpros)
Each dialog in an SAP system is controlled by dynpros. A Dynpro consists of a screen and its flow logic and controls exactly one dialog step.
ABAP/4 module pool
Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules.
What is a dynpro ? What are its components ?
A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly
one dialog step.
- The different components of the dynpro are:
Flow logic: Calls of the ABAP/4 modules for a screen
Screen layout: Positions of the texts, fields, pushbuttons, and so on for a screen
Screen attributes: Number of the screen, number of the subsequent screen, and others
Field attributes: Definition of the attributes of the individual fields on a screen
What is screen flow logic? What are the selections in it? Explain PAI and PBO?
Ans - Screen flow logic contains the procedural part of a screen. The screen flow logic is like an ABAP program in that it serves as a container for processing blocks. There are four event blocks, each of which is introduced with the screen keyword PROCESS:
PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
PROCESS ON HELP-REQUEST.
PROCESS ON VALUE-REQUEST.
Selections are performed in PAI.
PROCESS BEFORE OUTPUT (PBO) is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed.
PROCESS AFTER INPUT (PAI) is triggered when the user chooses a function on the screen. You can program the PAI processing of the screen in this block. At the end of the PAI.
processing, the system either calls the next screen or carries on processing at the point from which the screen was called.
PROCESS ON HELP-REQUEST (POH) and PROCESS ON VALUE-REQUEST (POV) are triggered when the user requests field help (F1) or possible values help (F4) respectively. You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.
step by step process of dialog programing:
Firstly, you can go to Tcode SE80 and here create a package.
On that package name right click and select program.
Then choose program type modulepool program.
Similarly, you can create screen and then select layout and drag and drop labels and pushbuttons as per your requirements.. Then double click on th push buttons.You will see property window and there we will find FCTCODE and there type the names e.g suppose you want to
display then typy on the fctcode Display or any name as you wish.
After that save and activate it. and then close the window.
And then go back to the intial screen .
And then click Flow logic button and then uncomment the statement
module status_1000 PBO block and then doible click on status_1000
save and activate and then go back and then PAI block uncomment the statement module status_1000 and the dobule click on status_1000.
step by step process of creating smartforms:
1. What is Smartforms?
Smartforms is a tool to create and maintain forms for mass printing in SAP Systems. Just like sapscripts, for Smart
forms print program is used to create the output internal table which in turn is thrown to the smart form where the
field values are displayed. The output medium for Smartforms support printer, fax, e-mail, or the Internet.
Transaction Code: SMARTFORMS
To print a form the program for the data retrieval and a Smartform that contains the entire form logic is required. As
these two are separate one should adapt the Smartform if changes to the form logic are necessary. The application
program passes the data via a function module interface to the Smartform. When activating the Smartform the system
automatically generates the function module.
The architecture of the smart form is given below:
Creating Forms Using SAP Smart Forms
When creating a form one must:
1. Retrieve the application data
2. Describe the form
3. Pass the application data to the form
Example: Create Smartform for printing Purchase order.
Retrieving the application data (Purchase Order information):
Write an ABAP program (Print Program) to retrieve data or include a retrieval routine into the application. This
code consists of statements that select data from databases according to certain selection criteria. Store the
retrieved data in internal tables, structures or variables and transfer it to the form in one step.
SAP has already provided with the Print Program (/SMB40/FM06P) for Purchase Order. Based on the business
requirement, this Print Program can be copied and modified to get the required data and transfer to Smartform.
Describing the Form:
The user defines the form using a Smartform. Use the tools of the form builder as listed below:
1. Use the form painter to position the windows, graphics and addresses on a page.
2. Use the PC editor to write the texts.
3. Use the table painter to format the tables.
The flow control is used to print the pages and elements.
Form Logic (Introduction)
In the form builder one can describe a Smartform by a set of nodes. To do this, one can build up a tree structure on
the left side of the user interface.
The node global settings and its three successors form attributes, form interface and global definitions always exists
for any newly created forms.
To describe the form logic, create the hierarchy under the node pages and windows.
The following rules apply to control the flow of the form output.
1. The nodes in the tree structure are processed from top to bottom.
2. For each node there is a tab, this can be used to link the node to a condition. If the condition is true, the
system processes the node. If not, it skips the node and all its successors.
3. One should define a next page for each page.
The SAP form builder of the smart form consists of:
1. Form painter for creating the layout of the form
2. PC Editor for entering texts and fields into output areas
3. Navigation tree for maintaining the form logic
4. Table painter for creating templates and tables
To define the text formats, one can use the Smart Styles.
Style builder:
On the left of the style builder screen consists of the predetermined nodes (header data, folder for paragraph
formats, and folder for character formats).
On the right one can see the maintenance screen with its tab pages. At the bottom the preview of the selected font
can be viewed.
Create Purchase Order Smartform
Create a Smartform, copy the existing SAP provided purchase order Smartform to ZSFM_PURCHASEORDER for
customizing as per business requirement.
1. Form Settings under Global Settings node, set the parameters in Output Option:
Page Format: Letter
Character per Inch: 20
Line per Inch: 6
Style: ZSTM_SMB40_SF
Output Format: Standard Output
2. Form Interface
We can add parameters in the Import Parameters and tables in Tables tab of the form interface for the application
data to be available for the Smartform to print.
3. In Global definition we can define the all the global variables which can be used in Smartforms. Initialization
can be used for initializing the variables and even for retrieving the data.
Creating pages:
Each form consists of one or more pages. The first page in the tree structure is the start page and the
processing of the form starts with this page itself.
1. Open the context menu for existing page node and choose create®page
2. Enter a unique name (FIRST) for the node and a description (Page)
3. Determine the format (1, 2, 3...)and the mode of the page counter (Increase counter) on the general
attributes tab
4. Determine the print attributes (Portrait Format) of the page on the output options
5. Determine a background graphic for the entire page on the background tab (Not used in PO).
Creating windows:
The size and position of the window can be graphically set in the form painter. There are main windows and
secondary windows. The difference between these two is that the output in a main window can cover several
pages.
1. Open the context menu for an existing page node and choose®window
2. Enter a name for the node (NAMEFORM) and a description (Title Window).
3. On the general attributes indicate type of window. NAMEFORM is secondary window.
In similar fashion all the other windows are created and positioned as per the form design. Only one MAIN
window is created, it is used for line items which can cover several pages.
Positioning texts on the form
The texts are displayed in the form using text nodes. The only exceptions are addresses.
The predecessor node of the text node determines its use:
Predecessor node Used to
Secondary window Position text on one or more pages
Main window Display text in relation to other nodes in the main window, it may cover several pages
Template Displays texts for table cells of a static table
Table Display table contents
There are three text types:
1. Text element : to enter new text in the PC editor
2. Text module : to include a text module
3. Include text : to include an existing SAPscript text
Entering texts in PC editor: (TITLE)
· To create a text node call the context menu for that node in the tree structure that should receive the
text, then choose->text
· Enter a unique name (TITLE) for the node and the node description (TITLE)
· On the general attributes tab choose text element as text type
· In the text node box choose whether the text should be started with a new paragraph or only in a new
line
· Enter the text in the PC editor. Text could be a program element like &Title& or Purchase Order. &Title&
is a variable for which the value is assigned in Program line before the text.
Including text modules: (TERMSCONDITION)
Text module of the text node is used to refer to an existing text module in the system. The text modules can be
used in two ways:
· To create a text node, call the context menu for that node in the tree structure that shall contain the text
and choose create->text under the window TERMSCONDITION.
· Enter a unique name for the node (TERMSCONDITION) and a description (Terms and Condition)
· On the general attributes tab select the text type text module
· Enter the name of the text module in the text name field (&G_TERMS_TEXT&). &G_TERMS_TEXT& is
used to determine the Text name dynamically in the program lines preceding the text module node.
· Program Lines: GETTERMSCONDITION
Concatenate 'ZTMM_PO_TERMS_' ZXEKKO-BUKRS
INTO G_TERMS_TEXT.
Including SAPscript texts: (HD_TXT_F01 Order Header Text)
The text type include text node to refer to a SAPscript text, which already exists in the system. To identify the
text the text name, object, id and the language is needed.
· To create the text node, call the context menu for that node in the tree structure that shall receive the
text and choose create -> text under the main window.
· Enter a unique name (HD_TXT_F01) for the node and the node description (Order Header Text).
· On the general attributes tab choose include text as text type
· Text Name - &ZEKKO-EBELN&, Text Object EKKO, Text ID F01, Language - &SY-LANGU&. Also check
mark No error if no text exists.
Tip: Since the size of text is not known, its better to have the text in MAIN window, so that it can run to more
than one page if required.
Inserting addresses: (SENDER):
Address node is used to insert an address into the form. This guarantees that the address is formatted
according to the postal rules of the sender country.
· To create an address node , call the context menu for that node in the tree structure that one wants to
contain the text and choose create->Address
· Enter a name for the node (COMPANY_CODE_ADDRESS) and a description (Company Code Address)
· Determine the address type (Organization Address) on the general attributes tab
· For organizational addresses - specify the address number, for any other - specify the person number
and the address number. In this case we get the company code address into variable &ADDNR&, so we need
program lines (SENDER) preceding the address text.
· In the box additional addresses, attributes to specify how to display the address are maintained.
Printing graphics: (LOGO):
Tcode SE78 is used to import graphics into the SAP system. The transaction imports the graphics and stores it
in the BDS (business transaction server) and then it can be displayed in the form.
· To create the graphic node , call the context menu for that node in the tree structure and choose create-
>graphic
· Enter a name (LOGO) for the node and the description (Logo Graphic)
· On the general attributes determine whether a colored or a black and white
· On General Attributes use the fields object - GRPAHIC, id BMAP and name - &G_LOGO& to identify the
graphic. &G_LOGO& is variable and therefore we can print company code specific logo. Program line preceding
the graphic is required.
· Program line COMP_LOGO is used to assign the value to G_LOGO. Concatenate 'ZCOMPANY_LOGO_'
ZXEKKO-BUKRS INTO G_LOGO. So, the name of graphic for example will be ZCOMPANY_LOGO_0202 for
company code 0202.
Displaying a static table (Window INFO, Template - TEM_INFO)
Use node type template to display a table whose layout and size is determined before the runtime of the print
program.
To create a template, define a table layout to determine the cell structure for each line. The cells are used to
display the cell structure for each line. The cells are used to display the contents of the successor nodes of the
template node.
· Create Template under the INFO window node. Create > Template.
The template layout is used to determine the following,
1. The number of lines and cells
2. The height of each cell
3. The width of each cell
4. The alignment of the table in the window
5. Whether and where to display separator lines or frames
Use the table control on the template tab to define the layout of the lines. Each line of the template must have
a definition.
Use the pattern box to select the desired table pattern.
Displaying contents in cells: (TLE_CONTACT)
The template node defines the table layout. The successor nodes of the template determine the data to be
displayed in the table cells.
In General Attributes choose Text type Text Element. In editor, type DTE Contact.
In Output Options, define the output structure LINE 5 and Column 1.
Similarly all other information for each cell can be filed using the text module and address module.
Displaying Dynamic Table (ITEM_TABLE)
· Create TABLE under the MAIN window node. In DATA Tab, loop through the data internal table.
L_XEKPO is the item table which has all the line item details.
Define the line types based on the positioning of the text in main window. For example: TABLE_HEADER1
is used for positioning Header texts in the table.
· Table is divided into three parts: Header, Main Area and Footer.
· Header is used for printing the Header Title of the table and it at the start of the table on every page.
· Main Area is used to print the line item details of the PO. Create a line (ITEM_DETAIL) of the line type
TABLE_HEADER1. It will dynamically generate number cells based on the line type defined in the table layout.
Name all the cells as per the usage. For each cell create the text node to display the information. For example:
Cell VAL_MATERIAL, Text node MATNR is created which has text element - -matnr.
· Footer is used for printing the information after Main Area data is printed. This can be used for Total
printing or any other information which needs to be printed after all line items are printed. Create line
TLE_CONTR_STP for Contractual Stipulation of the line type LINE which has only one column. Create the
text element to print the information.
Special Requirement: Printing the Acknowledgement text if the order value is greater then USD 50,000.00 on
the second copy only.
· This requirement needs the modification in the print program and the Smartform.
· Modification in Print Program to trigger the second copy if the order value is greater then 50K. Its
advisable to copy the standard print program to custom Z program (Z_SMB40_FM06P), and changes should
be made to Z program. Number of copies is passed from NAST to ls_composer_param-tdcopies in Smartforms.
The value ls_composer_param-tdcopies is modified in the print program to 2 if the order value is greater then
50K.
· The printing of Acknowledgement Text only on second copy is achieved using the COPIES WINDOW in
Smartforms. Define Window ACKN_COPY of the type COPIES WINDOW and Output to Only Copies Copies
Differ. Also set the condition in the Condition Tab of the window SFSY-JOBPAGES = 1, so that it only print
on the first page of the copy.
· If user selects to print 2 copies and the order value is more then 50k, program needs to print 2 sets
meaning 4 copies. So number of copies is taken care of in Print program but again the printing of
Acknowledgement Text should be only the Even number copy meaning Copy# 2 and 4. This achieved by using
the program lines to determine the even copy. SFSY-COPYCOUNT will tell us the current copy number being
printed.
regards,
vineela.
Edited by: Radha Vineela Aepuru on Mar 13, 2008 11:12 AM -
Getting error while calling a subscreen in module pool program
HI ALL,
ACTUALLY I'M GETTING A SYNTAX ERROR WHILE I'M CALLING A SUBSCREEN
IN A MODULE POOL PROGRAM IN PAI MODULE
THE ERROR IS AS FOLLOW
"." or "ID ... FIELD ..." expected after "SUBSCREEN"
CAN ANYBODY PLS HELP ME.
REGARDS
ANDREWSHI MAX ,
THE CODE IS AS FOLLOWS:
*& Report ZTABSTRIP_PS
REPORT ZTABSTRIP_PS.
type-pools : vrm.
DATA:number1 type I,
number2 type I,
result type I,
ok_code like SY-UCOMM,
employee1 type c,
ABAP(19) type c,
SALES(19) type c,
HR(19) type c,
MM(19) type c,
employee type c.
emp type c.
CONTROLS tabstrip TYPE TABSTRIP.
CALL SCREEN 100.
call screen 110.
call screen 130.
call screen 120.
call screen 140.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
SET TITLEBAR 'TITLE'.
CASE OK_CODE.
WHEN 'BACK' or 'EXIT' or 'DELETE'.
leave program.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
WHEN 'BACK'.
leave PROGRAM.
when 'EXIT' or 'DELETE'.
leave to screen 0.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
endcase.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
when 'TAB1'.
tabstrip-activetab = 'TAB1'.
when 'TAB2'.
tabstrip-activetab = 'TAB2'.
result = number1 + number2.
when 'TAB3'.
tabstrip-activetab = 'TAB3'.
SET TITLEBAR 'TITLE1'.
when 'TAB4'.
tabstrip-activetab = 'TAB4'.
if employee = 'NEERAJ'.
ABAP = 'NEERAJ'.
elseif employee = 'UMESH'.
SALES = 'UMESH'.
ELSEIF employee = 'RAM'.
HR = 'RAM'.
elseif employee = 'ANIL'.
MM = 'ANIL'.
endif.
employee = employee.
WHEN 'BACK'.
leave PROGRAM.
when 'EXIT' or 'DELETE'.
leave to screen 0.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
ENDCASE.
WHEN 'BACK' or 'EXIT' or 'DELETE'.
leave program .
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0110 OUTPUT
text
**MODULE STATUS_0110 OUTPUT.
SET PF-STATUS 'STATUS1'.
SET TITLEBAR 'xxx'.
**case ok_code.
**WHEN 'back' or 'exit' or 'delete'.
leave PROGRAM.
WHEN 'save'.
MESSAGE 'please choose a valid function ' TYPE 'W'.
ENDCASE.
**ENDMODULE. " STATUS_0110 OUTPUT
*& Module USER_COMMAND_0110 INPUT
text
MODULE USER_COMMAND_0110 INPUT.
number1 = number1.
number2 = number2.
CLEAR NUMBER1.
CLEAR NUMBER2.
REFRESH NUMBER1.
REFRESH NUMBER2.
ENDMODULE. " USER_COMMAND_0110 INPUT
*& Module STATUS_0130 OUTPUT
text
MODULE STATUS_0130 OUTPUT.
SET PF-STATUS 'STATUS2'.
SET TITLEBAR 'xxx'.
RESULT = number1 + number2.
*CLEAR RESULT.
REFRESH RESULT.
ENDMODULE. " STATUS_0130 OUTPUT
*& Module STATUS_0120 OUTPUT
text
MODULE STATUS_0120 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
DATA: l_name TYPE vrm_id,
li_list TYPE vrm_values,
l_value LIKE LINE OF li_list.
l_value-key = '1'.
l_value-text = 'ANIL'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '2'.
l_value-text = 'RAM'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '3'.
l_value-text = 'NEERAJ'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '4'.
l_value-text = 'UMESH'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_name = 'employee'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = l_name
VALUES = li_list
EXCEPTIONS
ID_ILLEGAL_NAME = 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.
CLEAR li_list.
ENDMODULE. " STATUS_0120 OUTPUT
*& Module USER_COMMAND_0120 INPUT
text
MODULE USER_COMMAND_0120 INPUT.
INCLUDING sy-repid '140'.
employee1 = employee.
IF employee1 CS 'NEERAJ'.
call SUBSCREEN sub4 .
ABAP = 'NEERAJ'.
CLEAR ABAP.
ELSEIF employee1 CS 'UMESH'.
call SUBSCREEN sub4 .
SALES = 'UMESH'.
CLEAR SALES.
elseif employee1 CS 'RAM'.
call SUBSCREEN sub4 .
HR = 'RAM'.
CLEAR HR.
ELSEIF employee1 CS 'ANIL'.
call SUBSCREEN sub4 .
MM = 'ANIL'.
CLEAR MM.
endif.
ENDMODULE. " USER_COMMAND_0120 INPUT
*& Module STATUS_0140 OUTPUT
text
MODULE STATUS_0140 OUTPUT.
*CASE OK_CODE.
WHEN employee1 'NEERAJ'.
screen-active = 1.
ABAP = 'NEERAJ'.
WHEN employee1 = 'UMESH'.
screen-active = 1.
SALES = 'UMESH'.
WHEN employee1 = 'RAM'.
screen-active = 1.
HR = 'RAM'.
WHEN employee1 = 'ANIL'.
screen-active = 1.
MM = 'ANIL'.
endif.
*ENDCASE.
ENDMODULE. " STATUS_0140 OUTPUT -
Use of "Pool Table(s)" in Module Pool Program
Hi,
I often see/hear that Pool tables play an important role in Module Pool Programs.
anybody please explain me how Pool tables are used in Module Pools?? => Did you look for any documentation?
if possible with code snippets. =>NO.
Thanks,
Kranthi.
Edited by: kishan P on Nov 14, 2010 7:23 PMHi,
I often see/hear that Pool tables play an important role in Module Pool Programs.
anybody please explain me how Pool tables are used in Module Pools?? => Did you look for any documentation?
if possible with code snippets. =>NO.
Thanks,
Kranthi.
Edited by: kishan P on Nov 14, 2010 7:23 PM -
How to make a fld mandatory in module pool program?
I need help on following 2 things
I have module pool program created, in that many screen subscreens created.
1.I want to make a field mandatory
second one is, I have a general tab and data tab.
General tab screen - 2101
Data tab = 2102
In general tab, I have edited the values (change mode), when change the values and try to save it,
It is holding old value.but If i exucute the transaction once again, it is showing the changed value(new value)
For ex: there is a date field value is 03/08/2009
If I change this to 03/09/2009 and press on Save button from the standard menu, still it is showing the value 03/08/2009. but I execute this transaction once again it is showing the value as 03/09/2009
I will be thankful if someone helps me hereHi Chitra,
Go to the properties of the filed select program tab and say input required.
then you will get the problem solved.
For second one actually its saving but not displaying the saved value at the same time ,
for this you write the select statement after saving , so that once save is execute m, select statement also will execute and it will display the newly saved value.
so after saving imdeatly u write the select statement.
like case sy-ucomm.
when 'SAVE'.
insert ztable.
select filed from z table.
endcase.
let me know if ur problem solved.
Regards
Rajendra -
How can i display the success msg using module pool
Hi frnds,
I want to display the error mesg or success msg in a dialogbox with ok button through module pool,
Pls help me any one.
Thanks in advance.Hi,
Check this example in SAP:
DEMO_MESSAGES -
> This is a good example of displaying messages given by SAP.
For more information on messages please visit this link:
http://help.sap.com/saphelp_nw04/helpdata/en/91/dec863880411d194cb0000e8353423/content.htm
This will tell you the complete status of each messages in the ABAP with its displaying position on the screen.
May this information helps you.
Thanks
Deepak Sharma -
How to handle The Back button on Module Pool screen
Hi Gurus,
I have created a module pool screen. In that screen I have used some input/output fields(text box) which i have marked mandatory by making the input field as "required" under program tab.
now when running the screen if no data is entered into these mandatory input field then BACK button does not work. First I have to enter some data into the input filed only then the BACK button works. How should i code so that the back button works even without entering the data into these mandatory fields.hi,
use AT EXIT-COMMAND with the module.
eg. module user_command at exit command.
then there will be no problem. -
How to use SET & GET Parameters in Module Pool
Hi Friends,
Can anyone please tell how to use SET / GET parameters and PARAMETER ID for a text box (Input / Output field ) in module pool? What is the purpose and where do we need to do coding for it?
Note : I will definitely give the marks for good responses.
Thanks in advance,
PradeepHi Pradeep,
You can save values in the SAP memory using a parameter ID. These
are user and terminal-session specific, but available to all internal and
external sessions.
SET Parameter copies the corresponding field contents into the SAP
System memory in the PAI processing block.
GET Parameter copies the corresponding field contents from the SAP
memory at the end of the PBO processing block, after data has been
transferred from the program, if the screen field still has its initial value
You can link an input/output field to an area of the SAP memory in the
ABAP Dictionary.
When you use an input/output field that is defined in the ABAP
Dictionary, its parameter ID is displayed in the Dictionary attribute
Parameter ID in the Screen Painter.
Usage
SET PARAMETER ID: CAR FIELD space,
CON FIELD space,
DAY FIELD space.
Here is the link that explains the usage of GET/SET in detail
<a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db9e0435c111d1829f0000e829fbfe/content.htm">http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db9e0435c111d1829f0000e829fbfe/content.htm</a>
Regards,
Sharadha -
How to retain leading zeros in module pool screen
Hi experts,
I have a ztable field of type NUMC4 being displayed on a module pool screen, the value in the field is '0001', but on the screen it displays value as '1' (without leading zeros), When I save the record, Even in the databse it stores as '1'.
But I have checked in debugging the field always contains '0001' in the program execution and I have also used 'CONVERSION_EXIT_ALPHA_INPUT' in the PBO but no use.
Pls suggest.
Thanks,
DeepakCheck the screen attributes for the field. There is an option to show leading zeroes.
edit.
And how did you see it was stored a 1 and not 0001? Using SE16N? Mind you: with SE16N conversion-exits are executed automatically thus showing 0001 as 1.
To make sure: double click on the record in SE16N and look if it's still 1 and not 0001. -
Hi,
I have created a sample prog for module pool.
I took a button on layout.
in flow logic okcode like sy-ucomm.
case okcode.
when 'button'.
write:/'sffs'.
endcase.
And i have created the tcode also.
while trying to exe it is giving msg as
GUI CAPABILITY OF TRANSACTION ZSCREEN NOT YET CLASSIFIED.
What is the error pls solve it.
Regards,
SiriHi
A) have created a sample prog for module pool.
I took a button on layout.
in flow logic okcode like sy-ucomm.
case okcode.
when 'button'.
write:/'sffs'.
endcase
U have to leave the screen before using the WRITE statament:
case okcode.
when 'button'.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
write:/'sffs'.
LEAVE SCREEN.
endcase.
B) And i have created the tcode also.
while trying to exe it is giving msg as
GUI CAPABILITY OF TRANSACTION ZSCREEN NOT YET CLASSIFIED.
Check if you have choose the right attribute of trx for module pool by se93
Max -
In module pool program - i want to control size of screen.
Hi,
In module pool program , I am handling 2 screen . while calling the 2 nd screen , i want to display the window size as i required.
Plz help me.
Regards,
Rani.Hi,
Specify the positions as
CALL SCREEN dynnr
[STARTING AT col1 lin1
[ENDING AT col2 lin2]].
By default, the screens of all dynpros of the called dynpro sequence are displayed in the current window. Use addition STARTING AT to open a modal dialog window.
Addition
... STARTING AT col1 lin1 [ENDING AT col2 lin2]
Effect
Use addition STARTING AT to open a new popup level and to display all screens of the called dynpro sequence in a modal dialog window. The upper left corner of the dialog window is determined by the values col1 and lin1 for column and line. The values refer to the window with popup level 0. The lower right corner is set automatically or you can use col2 and lin2 to specify it after ENDING AT. For col1, lin1, col2 and lin2, data objects of type i are expected. The values of col1, lin1 should be smaller than those of col2, lin2, because otherwise the behavior is undefined. The maximum popup level is 9.
Pls reward points if solved your issue.
Regards,
Renjith Michael. -
Error message in Module Pool program
Hi folks,
I have developed a module pool program for a custom screen. while entering data on the screen,
it throws a error message for a wrong data entry.But, even after cliking enter, the error message coming repeatedly and the screen is disabled.I havent inculded the screen fields in between CHAIN-ENDCHAIN.Is this the reason for the bug. If so, i have approximately 50 fields on my screen.Should i keep all those fields in between CHAIN-ENDCHAIN. Pls suggest me...
Thanks in advance,
Shyam.Hi Shyam,
Please find the LInk below
Hope this is help full
[Error Message|Re: chain endchain]
Thanks
kalyan -
Error handling in module pool program
hi,
in module pool program after enabling a field if the user enters an invalid value iam giving a error message.
message 'something' type 's' display like 'E'.
then again it should go to the previous screen where the user enters the value for that enabled filed.
can u guys share some ideas.Hi ,
if it is a ascreen field use the below syntax
Field <fieldname> module <module_validate>.
in the module validate write the validation and throw error message ,the screen will be in error position
if the field is in Table control
Loop at <table control>.
chain.
field <fieldnamemodule <module_validate>.
"in the module validate write the validation and throw error message ,the screen will be in error position
endchain.
Endloop.
Prabhudas
Maybe you are looking for
-
How can I copy tracks from one computer to another using network sharing?
NOT using Migration Assistant. All of the tracks are in one of two formats: MP3 and AAC.
-
Help Installing Windows 7 64 Bit on Early Mac Pro
As previously noted, Wind 7 RC 64 bit DVD will not boot on early Mac Pro. I installed Win 7 64 bit on a dedicated hard drive as follows: 1) I booted into Vista 64bit successfully 2) I installed Win 7 64 bit on a second black disk, as noted above 3)Al
-
BW Upgrade Plan 3.1C To BI 7.0 (Procedure and Checklist)
Hi Friends, Pls send the template for BW Upgrade Plan 3.1C To BI 7.0 (Procedure and Checklist)/Document. I need the exact & accurate SAP Standard Template/document. I searched SAPHelp /https://websmp110.sap-ag.de/instguides . could n't find any thi
-
Unable to connect Timecapsule to Macbook Pro
I have a MacBook Pro running OSX 10.8.2 and a 500TB Time capule, purchased in 2010. I have successfully connected it one, then I moved and have been unable to do it since. The ornage light on the Time Capsule flashes orange constantly. When I open A
-
Is the Lion download a one time only download from apple, or can you download it again if needed?