Help in uploading image using module pool programming!!!
hi all
I need a help from you all...iam designing my company's Visitors Identity card...im workin in module pool programming,i need to know wat function module should i use to get jpg image n to display it...
i hav tried it using DP_PUBLISH_WWW_URL func module but it asks for OBJID dono wat should i give...i referred SAP_PICTURE_DEMO.....
<b>plz suggest me with some solutions to diplay image which is stored in desktop....</b>
asha.......
hi,
u try this importing jpeg image in transcation oaor .
in that give class name as pictures and class type as ot and execute it.
in that u import which image u want to say for suppose a DUMMY.
FORM TOP_OF_PAGE. "#EC CALLED
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
<b>I_LOGO = 'DUMMY'</b>
"'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
this top of page u use in FM
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = gc_pf_status_set
I_CALLBACK_USER_COMMAND = GC_USER_COMMAND
<b> I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'</b>
this may solve ur problem.
Similar Messages
-
F1 help on a field in module pool programming
I want to create f1 help on a field in module pool programming. How to use POH event. where should i write the help documentation. Before using this f1 help on a field i have to set some properties on GUI interface Editor. Please clearly mention the steps i have to follow.
PROCESS ON HELP-REQUEST.
FIELD P_LFA1 MODULE HELP_F1_LIFNR.
MODULE HELP_F1_LIFNR INPUT.
PERFORM SHOW_HELP_F1 USING 'ZFAG_DOC1'.
ENDMODULE. " help_f1_lifnr INPUT
FORM SHOW_HELP_F1 USING P_OBJECT.
Dati testo help
DATA: T_LINE LIKE TLINE OCCURS 0,
XHEAD LIKE THEAD,
HELP_INFO LIKE HELP_INFO,
TEXC LIKE SY-UCOMM OCCURS 0,
V_OBJECT LIKE DOKHL-OBJECT.
Costante
DATA: PREF_SIMG(4) VALUE 'SIMG',
DOCID_HY LIKE DOKHL-ID VALUE 'HY'.
Testo
CONCATENATE PREF_SIMG P_OBJECT INTO V_OBJECT.
Estrazione testo
CALL FUNCTION 'DOCU_GET_FOR_F1HELP'
EXPORTING
ID = DOCID_HY
LANGU = SY-LANGU
OBJECT = V_OBJECT
IMPORTING
HEAD = XHEAD
TABLES
LINE = T_LINE
EXCEPTIONS
RET_CODE = 1
OTHERS = 2.
CASE SY-SUBRC .
WHEN 0.
Visualizzazione testo
GET CURSOR FIELD HELP_INFO-DYNPROFLD.
HELP_INFO-DOCUID = DOCID_HY.
HELP_INFO-DOCUOBJECT = V_OBJECT.
HELP_INFO-SPRAS = SY-LANGU.
HELP_INFO-PROGRAM = SY-REPID.
HELP_INFO-DYNPRO = SY-DYNNR.
HELP_INFO-DYNPPROG = SY-REPID.
HELP_INFO-PFKEY = SY-PFKEY.
HELP_INFO-FIELDNAME = HELP_INFO-DYNPROFLD.
CALL FUNCTION 'HELP_DOCULINES_SHOW'
EXPORTING
HELP_INFOS = HELP_INFO
OVERLAY_HEADER = XHEAD
TABLES
EXCLUDEFUN = TEXC
HELPLINES = T_LINE.
WHEN OTHERS. MESSAGE S720(SH).
ENDCASE.
ENDFORM. " SHOW_HELP_F1 -
Entering values in MARA table using module pool programming
Hi All,
I need a help from you all. I want to enter the values in the MARA table using module pool programming.
Can you please give me the detailed approach and if possible then code also as i am new to ABAP.
Thanks in AdvanceCreate the screen fields with ref to field in MARA table, once data is entered on screen by user then fill appropriate structure of FM BAPI_MATERIAL_SAVEDATA. If call to Fm BAPI_MATERIAL_SAVEDATA is successful then call FM BAPI_TRANSACTION_COMMIT to make changes permanent in database .
-
Checking Records in multiple screens using module pool programming
Hi,
I created student registration form using module pool programming.In first SCREEN i designed like the Below.
Name: <INPUT/OUTPUT Field>
Emailid: <INPUT/OUTPUT Field>
Password:<INPUT/OUTPUT Field>
CREATE<Push Button> SIGNIN<Push Button> cancel<Push Button>
in screen 1000 I created like the above screen and i wrote the code for it.It's successfully inserted records in ZSTUDENT database.
BUT
when i call the second screen 2000.I design the screen like below.And database table is ZSTU_LOGIN.
username : <INPUT/OUTPUT Field>
password : <INPUT/OUTPUT Field>
LOGIN<push Button> EXIT<Push Button>
AND i created Third screen 3000.Like full of detail of student details like First Name,Last Name,DOB,Education Details,Contact Details etc...
BUT I'm facing the pbm is
whatever the record is stored in table ZSTUDENT-Name & password when i call the screen 2000 that USERNAME & PASSWORD are same
Then go to THIRD screen 3000.BUT i wrote the code for second screen 2000 by using SELECT statement.without my code check it will go to third
screen 3000 By the Statement of Call screen 3000.
PLZ any one help me HOW to CHECK the Exact Record From second Screen 2000 to First Screen 1000.
HOW to Check the code AND can u provide me any code available.
thanks,
AnushaHi vikram,
I wrote the code for screen 2000 like below.
MODULE STATUS_2000 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
TABLES : ZSTUDENT_ENTER.
TYPES: BEGIN OF ST_TAB1,
USERNAME TYPE ZSTUDENT_ENTER-USERNAME,
PASSWORD1 TYPE ZSTUDENT_ENTER-PASSWORD1,
END OF ST_TAB1.
DATA : W_TAB1 TYPE ZSTUDENT_ENTER.
DATA : IT_TAB1 TYPE STANDARD TABLE OF ZSTUDENT_ENTER.
DATA : USERNAME TYPE CHAR50,
PASSWORD1 TYPE CHAR25.
ENDMODULE. " STATUS_2000 OUTPUT
*& Module USER_COMMAND_2000 INPUT
* text
MODULE USER_COMMAND_2000 INPUT.
CLEAR W_TAB1.
MOVE-CORRESPONDING W_TAB TO W_TAB1.
IF SY-SUBRC EQ 0.
SELECT SINGLE MAILID PASSWORD
INTO CORRESPONDING FIELDS OF W_TAB
FROM ZSTUDENT_INFO
WHERE USERNAME = W_TAB-MAILID AND
PASSWORD1 = W_TAB-PASSWORD.
CALL SCREEN 2000.
ENDSELECT.
ELSEIF SY-SUBRC NE 0.
MESSAGE 'INVALID USERNAME/PASSWORD'.
ELSEIF SY-UCOMM = 'LOGIN'.
CALL SCREEN 3000.
ENDIF.
ENDMODULE. " USER_COMMAND_2000 INPUT
But i could not found whether code is write or not.
syntax error is USERNAME is Unknown.
could solve me my pbm anybody.....
Thanks,
Anusha -
Using images in module pool programming.
Can anyone tell the way to display an image in a module pool program screen?
If its not too much of a headache, please give a detailed code.Hi Sahil,
Well you might want to take a look at the following link. I used SE78 to upload the picture and then used the picture in the module pool screen. I think that you can upload almost any picture using se78.
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/uploading%2bse78%2bpictures%2bin%2bscreen
Edited by: Aditya Niyogi on May 26, 2008 11:25 AM -
How to use module pool program in my custom report?
Hi,
I am developing a custom report in abap. I want to fetch data from a standard module pool program.I want output of this standard module pool program to be used in my standad report.Submit cannot be used with module pool programs. How can i do this?Can u please suggest?HI friend,
For this you can directly use the table fields i.e. each and every module pool screen fields will be having the table name along with its fields (which you can see by double clicking the field and selecting technical settings button) and since it is a standard module pool program that will get populated directly. So you can get the screen field values directly from the table. I think this will help. Please try and let us know wheather it is solved.
Thanks and regards,
Sri Hari Anand Kumar
Edited by: srihari.kumar on Apr 6, 2011 3:31 PM -
How to create selections-screens to display PO using module pool program
All,
I'm new to module pool programming. Can any one please provide me where to create selections screens to display existing purchase orders using the below selection criteria in thr module pool program.,
SELECT-OPTIONS : S_LIFNR FOR EKKO-LIFNR,
S_BSART FOR EKKO-BSART,
S_BUKRS FOR EKKO-BUKRS,
S_WERKS FOR EKPO-WERKS OBLIGATORY,
S_BEDAT FOR SY-DATUM,
S_EINDT FOR EKET-EINDT,
S_EBELN FOR EKKO-EBELN,
S_MATNR FOR EKPO-MATNR.
provide me step by step to do this.Hi,
Thanks for the reply can you please let me know.
How can I create the ranges
like low and high in the selection.
Using se51 i was able to do only one i,e
example I need
purchase order number----
f4 -
f4
Can please tell me how to do this -
How to insert data into a Ztable by using module pool programming??
Hi,
I am new to ABAP, Actually I have made a Ztable now I want to insert data by using the module pool programming. In which there are all field in the first screen and there is a save button. So when ever i press SAVE button it shud update the Ztable with new entries.But actually I am not getting How can i update that??can you please send me the code for inserting data.
Thanks in Advance.
Edited by: Swapna Ram on Feb 17, 2008 12:01 AMSwapna,
Check this thread...
Custom Table updation thru table control
ALso check this..
Dialog programming -
Table maintenance by using module pool program
Hi
Please give me step by step procedure to generate table maintenance by using module pool programWhile creating table maintenance, you can go thro' the module pool program used for that.In that,in PBO part,just try making particular field active = 1 inside loop at screen.
Girish Kumar Lo...
Posts: 1,518
Questions: 2
Registered: 4/19/07
Forum points: 1,982
Re: Regarding Table maintanence generator
Posted: Jun 26, 2007 9:02 AM in response to: Younus Khan Reply E-mail this post
here is the code for that
REPORT ZTAB_MAINT
NO STANDARD PAGE HEADING
MESSAGE-ID ZZ.
T Y P E D E C L A R A T I O N S
*--Types declaration for selection to be passed as parameter into
*--VIEW_MAINTENANCE_CALL FM
TYPES: BEGIN OF TP_RANGETAB.
INCLUDE STRUCTURE VIMSELLIST.
TYPES: END OF TP_RANGETAB.
D A T A D E C L A R A T I O N S
DATA: V_MATNR TYPE MATNR, " Material Number
V_WERKS TYPE WERKS_D, " Plant
V_KONOB TYPE KONOB, " Product allocation object
V_ZCPLT(40) TYPE C. " Message
I N T E R N A L T A B L E D E C L A R A T I O N S
Internal table to subroutine code
*Internal table used as selection for VIEW_MAINTENANCE_CALL FM
DATA: IT_RANGETAB TYPE STANDARD TABLE OF TP_RANGETAB WITH HEADER LINE.
*--Internal table used for getting the tablefields
DATA: BEGIN OF IT_HEADER OCCURS 1.
INCLUDE STRUCTURE VIMDESC.
DATA: END OF IT_HEADER.
*--Name Tabel
DATA: BEGIN OF IT_NAMTAB OCCURS 50.
INCLUDE STRUCTURE VIMNAMTAB.
DATA: END OF IT_NAMTAB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_MATNR OCCURS 0,
MATNR TYPE MATNR,
END OF IT_MATNR.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_WERKS OCCURS 0,
WERKS TYPE WERKS,
END OF IT_WERKS.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_KONOB OCCURS 0,
KONOB TYPE KONOB,
END OF IT_KONOB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_ZCPLT OCCURS 0,
ZCPLT(40) TYPE C,
END OF IT_ZCPLT.
I N P U T S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK SELSCR WITH FRAME TITLE TEXT-001.
RANGES: R_MATNR FOR V_MATNR.
RANGES: R_WERKS FOR V_WERKS.
RANGES: R_KONOB FOR V_KONOB.
RANGES: R_ZCPLT FOR V_ZCPLT.
Select Options
SELECT-OPTIONS: S_MATNR FOR V_MATNR NO-EXTENSION, " Material
S_WERKS FOR V_WERKS NO-EXTENSION, " Plant
S_KONOB FOR V_KONOB NO-EXTENSION,
" Product allocation object
S_ZCPLT FOR V_ZCPLT NO-EXTENSION. " Plant
SELECTION-SCREEN END OF BLOCK SELSCR.
A T S E L E C T I O N S C R E E N
AT SELECTION-SCREEN.
Validate user inputs
PERFORM FRM_VALIDATIONS.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
Fetch Data from Data Base
PERFORM FRM_GET_DATA.
S U B R O U T I N E S
*& Form frm_get_data
Call the function module VIEW_MAINTENNACE_CALL to get data
based on selection criteria
FORM FRM_GET_DATA .
CALL FUNCTION 'VIEW_GET_DDIC_INFO'
EXPORTING
VIEWNAME = 'ZTAB'
TABLES
X_HEADER = IT_HEADER
X_NAMTAB = IT_NAMTAB
SELLIST = IT_RANGETAB
EXCEPTIONS
NO_TVDIR_ENTRY = 1
TABLE_NOT_FOUND = 2.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Error in ZTAB table'(005).
ENDIF.
CLEAR: IT_RANGETAB,
IT_RANGETAB[].
LOOP AT IT_NAMTAB.
CASE IT_NAMTAB-VIEWFIELD.
WHEN 'MATNR'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'MATNR'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_MATNR.
CASE S_MATNR-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_MATNR-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_MATNR,
R_MATNR[].
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'BT'.
R_MATNR-LOW = S_MATNR-LOW.
R_MATNR-HIGH = S_MATNR-HIGH.
APPEND R_MATNR.
SELECT MATNR
INTO TABLE IT_MATNR
FROM ZTAB
WHERE MATNR IN R_MATNR.
DELETE ADJACENT DUPLICATES FROM IT_MATNR COMPARING MATNR
LOOP AT IT_MATNR.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_MATNR-MATNR.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_MATNR-OPTION.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'WERKS'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'WERKS'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_WERKS.
CASE S_WERKS-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_WERKS-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_WERKS,
R_WERKS[].
R_WERKS-SIGN = 'I'.
R_WERKS-OPTION = 'BT'.
R_WERKS-LOW = S_WERKS-LOW.
R_WERKS-HIGH = S_WERKS-HIGH.
APPEND R_WERKS.
SELECT WERKS
INTO TABLE IT_WERKS
FROM MARC
WHERE WERKS IN R_WERKS.
DELETE ADJACENT DUPLICATES FROM IT_WERKS COMPARING WERKS
LOOP AT IT_WERKS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_WERKS-WERKS.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_WERKS-OPTION.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'KONOB'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'KONOB'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_KONOB.
CASE S_KONOB-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_KONOB-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_KONOB,
R_KONOB[].
R_KONOB-SIGN = 'I'.
R_KONOB-OPTION = 'BT'.
R_KONOB-LOW = S_KONOB-LOW.
R_KONOB-HIGH = S_KONOB-HIGH.
APPEND R_KONOB.
SELECT KONOB
INTO TABLE IT_KONOB
FROM T190
WHERE KONOB IN R_KONOB.
DELETE ADJACENT DUPLICATES FROM IT_KONOB COMPARING KONOB
LOOP AT IT_KONOB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_KONOB-KONOB.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_KONOB-OPTION.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'ZCPLT'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'ZCPLT'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_ZCPLT.
CASE S_ZCPLT-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_ZCPLT-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_ZCPLT,
R_ZCPLT[].
R_ZCPLT-SIGN = 'I'.
R_ZCPLT-OPTION = 'BT'.
R_ZCPLT-LOW = S_ZCPLT-LOW.
R_ZCPLT-HIGH = S_ZCPLT-HIGH.
APPEND R_ZCPLT.
SELECT ZCPLT
INTO TABLE IT_ZCPLT
FROM ZTAB
WHERE ZCPLT IN R_ZCPLT.
DELETE ADJACENT DUPLICATES FROM IT_ZCPLT COMPARING ZCPLT
LOOP AT IT_ZCPLT.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_ZCPLT-ZCPLT.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_ZCPLT-OPTION.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
ENDCASE.
ENDLOOP.
IF S_ZCPLT[] IS INITIAL.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'U'
VIEW_NAME = 'ZTAB'
TABLES
DBA_SELLIST = IT_RANGETAB
EXCEPTIONS
CLIENT_REFERENCE = 1
FOREIGN_LOCK = 2
INVALID_ACTION = 3
NO_CLIENTINDEPENDENT_AUTH = 4
NO_DATABASE_FUNCTION = 5
NO_EDITOR_FUNCTION = 6
NO_SHOW_AUTH = 7
NO_TVDIR_ENTRY = 8
NO_UPD_AUTH = 9
ONLY_SHOW_ALLOWED = 10
SYSTEM_FAILURE = 11
UNKNOWN_FIELD_IN_DBA_SELLIST = 12
VIEW_NOT_FOUND = 13
MAINTENANCE_PROHIBITED = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'U'
VIEW_NAME = 'ZTAB_ZTEST'
TABLES
DBA_SELLIST = IT_RANGETAB
EXCEPTIONS
CLIENT_REFERENCE = 1
FOREIGN_LOCK = 2
INVALID_ACTION = 3
NO_CLIENTINDEPENDENT_AUTH = 4
NO_DATABASE_FUNCTION = 5
NO_EDITOR_FUNCTION = 6
NO_SHOW_AUTH = 7
NO_TVDIR_ENTRY = 8
NO_UPD_AUTH = 9
ONLY_SHOW_ALLOWED = 10
SYSTEM_FAILURE = 11
UNKNOWN_FIELD_IN_DBA_SELLIST = 12
VIEW_NOT_FOUND = 13
MAINTENANCE_PROHIBITED = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " frm_get_data
*& Form frm_validations
Validating field values
FORM FRM_VALIDATIONS .
Material number should not be validated (10/17/2005)
CLEAR V_MATNR.
SELECT SINGLE MATNR
INTO V_MATNR
FROM MARA
WHERE MATNR IN S_MATNR.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Material not found'.
ENDIF.
CLEAR V_WERKS.
SELECT SINGLE WERKS
INTO V_WERKS
FROM ZTAB
WHERE WERKS IN S_WERKS.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Plant (WERKS) not found'(002).
ENDIF.
CLEAR V_KONOB.
SELECT SINGLE KONOB
INTO V_KONOB
FROM ZTAB
WHERE KONOB IN S_KONOB.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH ' Product allocation object not found'(003).
ENDIF.
CLEAR V_WERKS.
SELECT SINGLE WERKS
INTO V_WERKS
FROM ZTAB
WHERE WERKS IN S_ZCPLT.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Plant (ZCPLT) not found'(004).
ENDIF.
ENDFORM. " frm_validations
reward points if it is usefull ...
Regarding Table maintanence generator -
How to upload logos in module pool programs?
hi frnds,
My requirement is to upload the logo in the module pool screen.Can any one explain in detail? its urgent.Hi,
First you need to upload using OAER or OAOR.
you need to have containers, and you need to use classes.
data: DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
using this method you can set background picture.
CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
EXPORTING
PICTURE_ID = DL_BACKGROUND_ID.
Here is the sample code
Create a screen
Place a custom container for the picture on the screen.
Name the container GO_PICTURE_CONTAINER.
Type pool for using SAP icons
TYPE-POOLS: icon.
Declarations
DATA:
go_picture TYPE REF TO cl_gui_picture,
go_picture_container TYPE REF TO cl_gui_custom_container.
MODULE status_0100 OUTPUT.
IF go_picture_container IS INITIAL.
Create obejcts for picture and container and
setup picture control
CREATE OBJECT go_picture_container
EXPORTING
container_name = 'PICTURE_CONTAINER'.
CREATE OBJECT go_picture
EXPORTING
parent = go_picture_container.
Set display mode (Stretching, original size etc.)
CALL METHOD go_picture->set_display_mode
EXPORTING
DISPLAY_MODE = CL_GUI_PICTURE=>display_mode_fit_center
EXCEPTIONS = 1.
Load picture from SAP Icons. To oad a picture from an URL use method
load_picture_from_url
CALL METHOD go_picture->load_picture_from_sap_icons
EXPORTING
icon = icon_delete
EXCEPTIONS error = 1.
ENDIF.
ENDMODULE. [/code]
check the below link.
http://www.sapgenie.com/abap/controls/picture.htm
Award points if helpful.
Regards,
Shiva KUmar -
Search Help For a Field in Module Pool Programming
Hi,
I have a field called status in Module Pool for which i need to write a search help.
This is the piece of code i have written.
TYPES: BEGIN OF ty_status,
stat type i,
status type string,
END OF ty_status.
DATA: lt_emp_status TYPE STANDARD TABLE OF ty_status,
lw_emp_status TYPE ty_status.
REFRESH lt_emp_status.
lw_emp_status-stat = '1'.
lw_emp_status-status = 'Draft'.
APPEND lw_emp_status TO lt_emp_status.
CLEAR lw_emp_status.
lw_emp_status-stat = '2'.
lw_emp_status-status = 'Employee Review'.
APPEND lw_emp_status TO lt_emp_status.
CLEAR lw_emp_status.
REFRESH lt_emp_status.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'STATUS'
value_org = 'S'
TABLES
value_tab = lt_emp_status
return_tab = t_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE t_return INDEX 1.
MOVE t_return-fieldval TO LV_EMP_status.
ENDIF.
But i am getting the following error.
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_ASSIGN_CAST_ILLEGAL_CAST', was
not caught in
procedure "F4IF_INT_TABLE_VALUE_REQUEST" "(FUNCTION)", nor was it propagated by
a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
The error occurred at a statement of the form
ASSIGN f TO <fs> CASTING.
ASSIGN f TO <fs> CASTING TYPE t.
or
ASSIGN f TO <fs> CASTING LIKE f1.
or
at table statements with the addition
ASSIGNING <fs> CASTING.
The following error causes are possible:
1. The type of field f or the target type determined by <fs>, t or f1
contains data references, object references, strings or internal tables
as components.
Could some one help me how to resolve this issue.
Thanks in advance.Hi,
Please see this sample code below:
*To fetch the classification data on the sel screen
DATA: BEGIN OF IT_KLAH OCCURS 0,
CLINT TYPE CLINT,
CLASS TYPE KLASSE_D,
END OF IT_KLAH.
SELECT CLINT CLASS FROM KLAH UP TO 500 ROWS
INTO TABLE IT_KLAH.
IF SY-SUBRC <> 0 .
MESSAGE TEXT-006 TYPE 'E'.
ELSE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'CLASS'
PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'p_s_clascn_low' "i had to put the f4 help on the selection screen's select option low value,
"here basically you have to give the internal table name inside quotes in which
"you want to retrieve your data
VALUE_ORG = 'S'
DISPLAY = ' '
TABLES
VALUE_TAB = IT_KLAH.
ENDIF.
Hope it helps,
Regards,
Mansi -
Reg alv grid using module pool programming
Dear Friends,
I have a situation where i am using alv grid in module programming where in when i click the total button in the tool bar for any numeric column, the screen goes for a run time error.
I have giving all conditions such as made the column in the field structure of lvc_field_catalog as do_sum = 'X',
still goes for a dump...can anyone throw some hints to do more or the reason behind this and also have not excluded the function code for this total pushbutton while passing to the method set_table_for_first_display
thanks...hi,
check this up
internal tables
DATA: i_tab TYPE TABLE OF zchangereq,
w_tab TYPE zchangereq.
display field details
DATA: w_field_cat_wa TYPE lvc_s_fcat. " Field Catalog work area
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-020.
PARAMETERS: p_outs RADIOBUTTON GROUP g1,
p_comp RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b1.
*MACROS
DEFINE add_field.
&1 = FIELDNAME &2 = HEADING &3 = Key field flag
clear w_field_cat_wa.
w_field_cat_wa-fieldname = &1.
lw_field_cat_wa-ref_table = p_ref_table.
lw_field_cat_wa-inttype = p_inttype.
lw_field_cat_wa-decimals = p_decimals.
lw_field_cat_wa-coltext = p_coltext.
lw_field_cat_wa-seltext = p_seltext.
lw_field_cat_wa-do_sum = p_do_sum.
lw_field_cat_wa-no_out = p_no_out.
lw_field_cat_wa-col_pos = p_col_pos.
lw_field_cat_wa-reptext = p_coltext.
lw_field_cat_wa-colddictxt = p_colddictxt.
w_field_cat_wa-scrtext_m = &2.
w_field_cat_wa-key = &3.
append w_field_cat_wa to i_field_cat.
END-OF-DEFINITION.
ALV specific Declarations...........................................
ALV specific Internal table declarations.............................
DATA: i_field_cat TYPE lvc_t_fcat, " Field catalogue
i_alv_sort TYPE lvc_t_sort. " Sort table
ALV variables........................................................
DATA: w_alv_layout TYPE lvc_s_layo, " ALV Layout
w_alv_save TYPE c, " ALV save
w_alv_variant TYPE disvariant. " ALV Variant
ALV Class definitions................................................
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS: handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
METHODS: handle_hotspot
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id.
ENDCLASS. " CLASS LCL_EVENT_HANDLER DEF..
ALV Class implementation............................................
In the Event of a Double Click drill down to the corresponding CHANGE REQUEST
CLASS lcl_event_handler IMPLEMENTATION.
METHOD handle_double_click.
DATA: l_tab LIKE LINE OF i_tab.
CHECK e_row-rowtype(1) EQ space.
READ TABLE i_tab INDEX e_row-index INTO l_tab.
SET PARAMETER ID 'ZTY' FIELD l_tab-ztype.
SET PARAMETER ID 'ZCR' FIELD l_tab-zcref.
CALL TRANSACTION 'ZCRT' AND SKIP FIRST SCREEN.
ENDMETHOD. " HANDLE_DOUBLE_CLICK
not working yet - hotspot seems to stay in the gui!!
METHOD handle_hotspot.
DATA: l_tab LIKE LINE OF i_tab.
CHECK e_row_id-rowtype(1) EQ space.
READ TABLE i_tab INDEX e_row_id-index INTO l_tab.
SET PARAMETER ID 'ZTY' FIELD l_tab-ztype.
SET PARAMETER ID 'ZCR' FIELD l_tab-zcref.
CALL TRANSACTION 'ZCRT' AND SKIP FIRST SCREEN.
ENDMETHOD. " HANDLE_DOUBLE_CLICK
ENDCLASS. " CLASS LCL_EVENT_HANDLER IMPL...
ALV Grid Control definitions........................................
DATA:
ALV Grid Control itself
o_grid TYPE REF TO cl_gui_alv_grid,
Container to hold the ALV Grid Control
o_custom_container TYPE REF TO cl_gui_custom_container,
Event handler (defined in the class above)
o_event_handler TYPE REF TO lcl_event_handler.
INITIALIZATION.
PERFORM create_field_catalogue. " Create ALV Field Catalog
START-OF-SELECTION.
Outstanding requests
IF p_outs = 'X'.
SELECT * FROM zchangereq
INTO TABLE i_tab
WHERE zstatus < 99.
ELSE.
completed requests
SELECT * FROM zchangereq
INTO TABLE i_tab
WHERE zstatus = 99.
ENDIF.
END-OF-SELECTION.
PERFORM list_output_to_alv. " Perform ALV Output operations
FORM LIST_OUTPUT_TO_ALV *
This subroutine is used to call the screen for ALV Output. *
There are no interface parameters to be passed to this subroutine. *
FORM list_output_to_alv.
CALL SCREEN 100.
ENDFORM. " LIST_OUTPUT_TO_ALV
Module STATUS_0100 OUTPUT *
This is the PBO module which will be processed befor displaying the *
ALV Output. *
MODULE status_0100 OUTPUT.
SET PF-STATUS '0100'. " PF Status for ALV Output Screen
IF p_outs = 'X'.
SET TITLEBAR 'STD'.
ELSE.
completed requests
SET TITLEBAR 'COMP'.
ENDIF.
CREATE OBJECT: o_custom_container
EXPORTING container_name = 'SC_GRID',
o_grid
EXPORTING i_parent = o_custom_container.
PERFORM define_alv_layout. " ALV Layout options definitions
PERFORM save_alv_layout_options. " save ALV layout options
PERFORM call_alv_grid. " Call ALV Grid Control
ENDMODULE. " STATUS_0100 OUTPUT
Module USER_COMMAND_0100 INPUT *
This is the PAI module which will be processed when the user performs*
any operation from the ALV output. *
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'EXIT' OR 'BACK' OR 'CANC'.
may need to do this so display is refreshed if other report selected
CALL METHOD o_custom_container->free.
SET SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
FORM DEFINE_ALV_LAYOUT *
This subroutine is used to Define the ALV layout. *
FORM define_alv_layout .
w_alv_layout-numc_total = 'X'. " Numc total line
w_alv_layout-cwidth_opt = 'X'. " Optimal column width
w_alv_layout-detailinit = 'X'. " Show values that are initial in
" detail list.
w_alv_layout-sel_mode = 'A'. " Column selection mode
w_alv_layout-no_merging = 'X'. " No merging while sorting columns
w_alv_layout-keyhot = 'X'.
ENDFORM. " DEFINE_ALV_LAYOUT
FORM SAVE_ALV_LAYOUT_OPTIONS *
This subroutine is used to Save the ALV layout options. *
FORM save_alv_layout_options.
See the ALV grid control documentation for full list of options
w_alv_save = 'A'.
w_alv_variant-report = sy-repid.
ENDFORM. " SAVE_ALV_LAYOUT_OPTIONS
FORM CALL_ALV_GRID *
This subroutine is used to call ALV Grid control for processing. *
FORM call_alv_grid.
CALL METHOD o_grid->set_table_for_first_display
EXPORTING
is_layout = w_alv_layout
i_save = w_alv_save
is_variant = w_alv_variant
CHANGING
it_outtab = i_tab[]
it_sort = i_alv_sort
it_fieldcatalog = i_field_cat.
Link used Events and Event Handler Methods
CREATE OBJECT o_event_handler.
Set handler o_event_handler->handle_top_of_page for o_grid.
SET HANDLER o_event_handler->handle_double_click FOR o_grid.
ENDFORM. " CALL_ALV_GRID
*& Form create_field_catalogue
set up field catalogue
FORM create_field_catalogue .
Fieldname Heading Key?
*eg add_field 'ZTYPE' 'Type' 'X'.
ENDFORM. " create_field_catalogue -
Search help in table view of Module pool programming
Hi SAP all.
here i have created one screen in se80 and i have created one table control.
in the table control i have created one field ,for that field i just want to have the search help refer to C_KUNNR.
when i entered C_KUNNR in the search help box and click on from dictionary it is raising error message saying that table not active in ABAP Dictionary.
can any body help me in this.
regards.
VarmaHi,
In the main screen-.Goto Flowlogic->Goto Layout-->U can give Standard search help name DEBI.
else.
Use the Process on Value Request
Regards
Arbind -
How to create dynamic screen using module pool programming
Hi,
Could anybody help me how to create dynamic screens?
I am developing a screen with HR Person with assignment info. If PERNR have multiple assignments, i need to show all the details one by one. How to show the details on screen. I need to call one by one assignment information dynamically.
Please suggest me how to do, apart from using table controls.
Thanks,
KamalYou may have the below options:
1) Table Control
2) Individual fields
3) ALV
4) pop-up screen -
How to insert Logo in module pool programming
Plz any one can explain me that how we will inseart Logo on screens by using module pool programming (in GUI programming) .
Hello.
I'll give you an example of inserting a personal photo in UI programming. Hope it helps you.
First of all, in your screen (painter), insert a custom control and give it a name (PHOTO in my example).
Then, in your screen PBO, insert a coding like this:
CLEAR handle.
CALL FUNCTION 'HR_IMAGE_INIT'
EXPORTING
p_pernr = pernr
p_tclas = 'A'
container = 'PHOTO'
IMPORTING
handle = handle
EXCEPTIONS
no_document = 1
internal_error = 2
OTHERS = 3.
CALL FUNCTION 'HR_IMAGE_SHOW'
EXPORTING
p_pernr = pernr
p_tclas = 'A'
handle = handle
EXCEPTIONS
invalid_handle = 1
no_document = 2
internal_error = 3
OTHERS = 4.
Regards.
Valter Oliveira.
Maybe you are looking for
-
How to get the last day of a month?
HI, I want to know how to get the last day of a month. In my JClient form, I tried to get it by using oracle.sql.Date method, that is: lastday=oracle.sql.Date anydate.lastDayOfMonth(); But it does not work. The result is lastday=anydate. Why? Stephen
-
Where is my refresh button on the toolbar? Why change the right-click options order? Are you trying to be Apple? WTF?? Please help me get back to the latest version of Firefox 3. I would really appreciate that. Sorry to be such a dick, but this new s
-
No response in sysnchronous proxy interface,not delivering
Hi All, I have a synchronous contract interface with http to proxy scenario. In few cases like when contract has max line items, it is not delivering to target system and message in RWB Integration engine it is showing status as to be delivered deli
-
Is there a ghost in our ECC5.0 system?
Hi experts. We have an ECC5.0 system , several days ago, we tried to check an ABAP dump in our system named "DYNPRO_SEND_IN_BACKGROUND", and now we think the dump should be happened during the background processing with corresponding pop-up screen (p
-
Dear Experts, If i want to see PO Number in FBL1N and FBL3N what is the procedure? useful answers duely rewarded