How to crete Button through ABAP programming
Hello Friends,
I am creating 2 selection screens through ABAP code and using them in my Tabstrip control also created through ABAP programming.
Can I also create button on the selection screen through abap programming. If yes then how, and how to assign funtion code and capture the Function Code???
Moderator Message: Read the below advice.
Edited by: kishan P on Dec 30, 2010 7:44 PM
Have a look at F1 help on SELECTION-SCREEN. There should be an example as well.
Similar Messages
-
How to create Spool through ABAP program
How to create spool request for Smartforms through program. So I can go in TCODE SP01 and see the output of my smartforms.
Include the below code in ur program .......
DATA: PRINT_PARAMETERS TYPE PRI_PARAMS,
VALID_FLAG TYPE C LENGTH 1.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
IMMEDIATELY = 'X' "C_IMMEDIATELY
*LAYOUT = 'Z_48_144'
*LINE_COUNT = '48'
LINE_SIZE = '255'
*NEW_LIST_ID = C_NEW_LIST_ID
NO_DIALOG = 'X'
RELEASE = 'X'
IMPORTING
OUT_PARAMETERS = PRINT_PARAMETERS
VALID = VALID_FLAG
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4 .
G_PDEST = PRINT_PARAMETERS-PDEST.
NEW-PAGE PRINT ON PARAMETERS PRINT_PARAMETERS
NO DIALOG.
List of write statements to be output.......
NEW-PAGE PRINT OFF.
Reward if useful.............. -
How to pass table data to brf plus application through abap program
Dear All,
i have a question related to BRF Plus management through abap program.
In brf plus application end, Field1,field2,field3 these 3 are importing parameters.
Table1->structure1->field4,field5 this is the table,with in one structure is there and 2 fields.
in my abap program, i am getting values of fields let us take field1,field2,field3,field4,field5.
And my question is
1) How to pass fields to BRF Plus application from abap program.
2)How to pass Table data to BRF Plus application from abap program.
3)How to pass Structure data to BRF Plus application from abap program.
4)How to get the result data from BRF Plus application to my abap program.
And finally , how to run FDT_TEMPLATE_FUNCTION_PROCESS.
How do i get the code automatically when calling the function in brf plus application.
Regards
venkata.Hi Prabhu,
Since it is a Custom Fm i cant see it in my system.
Look if u want to bring data in internal table then there could be two ways::
1) your FM should contain itab in CHANGING option , so that u can have internal table of same type and pass through FM,
2) read values one by one and append to internal table.
Thanks
Rohit G -
Creation of IDOC through abap program.
hello all,
I hav created idoc through abap program. I hav used FM 'Master_idoc _distrribute'.this program creates an idoc but giving status 30. can any one tell me how to get status 03. I hav already created port, Logical sys,partner no.,distribution model.
My Program is as follows:
ABLES : CRMD_ORDERADM_I,CRMD_ORDERADM_H,CRMD_SCHEDLIN.
DATA : S_CTRL_REC LIKE EDIDC OCCURS 0 WITH HEADER LINE,"Idoc Control Record
ORDER_NO TYPE CRMT_OBJECT_ID VALUE '5000000032'," SEGMENT ORDER DATA
PRODUCT TYPE CRMT_ORDERED_PROD VALUE 'SRV_01',
QUANTITY TYPE CRMT_SCHEDLIN_QUAN VALUE '1.000'.
DATA : ZORDER LIKE ZORDER_NUM OCCURS 0 WITH HEADER LINE.
DATA : T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE. "Data Records
DATA : T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE. "Generated Communication IDOc
CONSTANTS :
C_ZRZSEG1 LIKE EDIDD-SEGNAM VALUE 'ZORDER_NUM'.
PARAMETERS : C_MESTYP LIKE EDIDC-MESTYP DEFAULT 'ZORDER_IDOC2', "Message Type
C_RCVPRT LIKE EDIDC-RCVPRT DEFAULT 'LS', "Partner type of receiver
C_LOGSYS LIKE EDIDC-RCVPRN DEFAULT 'BSNL_OUT',
C_RCVPOR LIKE EDIDC-RCVPOR DEFAULT 'A000000006',
C_SNDPOR LIKE EDIDC-SNDPOR DEFAULT 'SAPBCD0000',
C_SNDPRN LIKE EDIDC-SNDPRN DEFAULT 'BCDCLNT100',
C_IDOCTP LIKE EDIDC-IDOCTP DEFAULT 'ZORDER2',
C_SNDPRT LIKE EDIDC-SNDPRT DEFAULT 'LS'. "Destination System
***START-OF-SELECTION
START-OF-SELECTION.
PERFORM GENERATE_CONTROL_RECORD.
PERFORM SEND_IDOC.
*& Form generate_control_record
FORM GENERATE_CONTROL_RECORD .
S_CTRL_REC-RCVPOR = C_RCVPOR. "Receiver Port
S_CTRL_REC-MESTYP = C_MESTYP. "Message type
S_CTRL_REC-IDOCTP = C_IDOCTP. "Basic IDOC type
S_CTRL_REC-RCVPRT = C_RCVPRT. "Partner type of receiver
S_CTRL_REC-SNDPOR = C_SNDPOR. "SENDER PORT
S_CTRL_REC-RCVPRN = C_LOGSYS. "Partner number of receiver
S_CTRL_REC-SNDPRT = C_SNDPRT. "Sender Partner type
S_CTRL_REC-SNDPRN = C_SNDPRN. "Sender Partner Number
APPEND S_CTRL_REC.
ENDFORM. " generate_control_record
*& Form send_idoc
FORM SEND_IDOC.
ZORDER-ORDER_NO = ORDER_NO.
ZORDER-PRODUCT = PRODUCT.
ZORDER-QUANTITY = QUANTITY.
APPEND ZORDER.
T_EDIDD-SEGNAM = C_ZRZSEG1.
T_EDIDD-SDATA = ZORDER.
APPEND T_EDIDD.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = S_CTRL_REC
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_IDOC
MASTER_IDOC_DATA = T_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
COMMIT WORK.
LOOP AT T_COMM_IDOC.
WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
ENDLOOP.
ENDIF.
ENDFORM. " send_idoc
I hav created segment , basic type,message typealso and release also .I also linked them.
Plz help me.
HemlataHi Hemalatha,
Just call this Progream RSEOUT00 from your Zprogram and pass the basic parameters like IDOC number, Basic type,Partner number etc.
You can check the parameters by executing the Program RSEOUT00.
This Program will change the status of your IDOC 30 to 03.
Thanks.
Note:Reward Points if you find useful. -
Hi anybody,
I want to use click event button inside abap programe.
how to use click events of button.
anybody tell me.
thanks
s.muthuhiii
use following code.it will create button
START-OF-SELECTION.
SET PF-STATUS 'STATUS'.
PERFORM get_data_kna1.
END-OF-SELECTION.
Now write following code for performing task on clicking that button.
CASE sy-ucomm.
WHEN 'CUSTOMER'.
SELECT SINGLE kunnr
FROM kna1
INTO w_kna1
WHERE kunnr = w_kunnr.
IF sy-subrc <> 0.
MESSAGE e015(zmsg9).
ENDIF.
WHEN 'ORDER'.
SELECT SINGLE vbeln
FROM vbak
INTO w_vbak
WHERE vbeln = w_vbeln.
IF sy-subrc <> 0.
MESSAGE e015(zmsg9).
ENDIF.
ENDCASE.
reward if useful
thx
twinkal -
How to find hardcoded in ABAP programs
Dear Experts,
Please tell me how to find hardcoded in ABAP programs.Hi Sam,
Generally in Abap program hardcoded strings are declared in single quotes ' .
for ex :
write : 'Report heading'. " search for ' in the entire program.
press FIND button in menu bar and type single quote ' . and select radio button ' IN MAIN PROGRAM '
Regards,
Aby. -
Hi Experts,
How can we send sms through ABAP program. What are the web services required? Is there any tutorial/resource on this topic?
Regards.
AbdullahHi...
Go through this code.....
REPORT y_sms_to_india620.
DATA: http_client TYPE REF TO if_http_client .
DATA: wf_string TYPE string ,
result TYPE string ,
r_str TYPE string .
DATA: result_tab TYPE TABLE OF string.
SELECTION-SCREEN: BEGIN OF BLOCK a WITH FRAME .
PARAMETERS: mail(100) LOWER CASE,
m_no(20) LOWER CASE ,
m_mss(120) LOWER CASE.
SELECTION-SCREEN: END OF BLOCK a .
START-OF-SELECTION .
CLEAR wf_string .
CONCATENATE
'http://www.webservicex.net/SendSMS.asmx/SendSMSToIndia?MobileNumber='
m_no
'&FromEmailAddress='
mail
'&Message='
m_mss
INTO wf_string .
CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = wf_string
IMPORTING
client = http_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4.
CALL METHOD http_client->send
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2.
CALL METHOD http_client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3.
CLEAR result .
result = http_client->response->get_cdata( ).
REFRESH result_tab .
SPLIT result AT cl_abap_char_utilities=>cr_lf INTO TABLE result_tab .
LOOP AT result_tab INTO r_str.
WRITE:/ r_str .
ENDLOOP .
Reward if it helps u... -
How to copy/download all ABAP programs in a text with a single report ?
How to copy/download all ABAP programs in a text format with a single report/TC ?
How to copy/download ABAP source code with all include programs ?....
we need to search & copy all include programs everytime....Hi,
check this link
downloading programs
Regards -
Assign loading / handling resource to location through ABAP program
Hello Experts,
I have a requirement where by I have to assign loading / unloading resource to a location through ABAP program. Need to assign the resource in Resources Tab in TP/VS section. Is there any function module or any method available to this?
Responses highly appreciated. Thanks in advance
Regards
Sandeep PatilHi all
I have the same requirement for the end user.
Is it a good idea update active Table of ODS behind an ABAP Program Z?, I understood that you can't have log history... and you can't delete request.. because you will not generate this..
We actually have one ODS that contain invoices... all the fields that contain the invoice..like material, vendor, etc.. was updated according to ABAp programa that we specify on start routine, each time that we need to update these fields we need to unload fros ODS to PSA and load again with dtp...
Let me copy more details:
Actually, we have an DSO that is updated each week, we load the information into different PSA, all of this PSA pass to ODS for one info source and transformation rule, in this transformation rule we have an ABAP rotine that have some validation and assign some values for different fields.
In this procees everthing look fine, actually If we need to update this information from DSO (that was loaded and the user need to update some fields) we need to download information from DSO to PSA and load again with DTP process, this was fine.
Actually the user want that this kind of changes will be apply on line, this mean that for example all the invoices that I have actually loaded into DSO need to be analyzed and update according new parameters that they specify in other tables.
The DSO is standard, and contain three basis tables, active, delta, modified.
My question is: Is it possible update directly table of active records of DSO with one Z program?? is it a good idea?, We want to discard the option of unload and load information each time that they need to update certain field that are calculated or updated whit the transformation rule or load.
Than you for your help. -
Logic to run Unix script file through ABAP program
Hi Friends,
I need to run the Unix script file from abap program, for that user provided file directory of application server.
Is there any logic/FM to run through abap programing.
pls can any one provide logic.
Thanks,
Ravireport zsrchsap.
*-This is a demo report for Search Sap
*-Author : Sandeep Kulkarni
*-Date : 09/20/2001
parameters : p_sfile(60) lower case
"File to be moved
"Eg : /home/in/SFILE1.txt
p_dfile(60) lower case.
"File's Destination
"Eg: /home/archive/SFILE1.txt
data : t_btcxpm
like btcxpm occurs 0,
p_addparam
like sxpgcolist-parameters.
concatenate
'/home/ABAP/scripts/Archive_file.sh'
p_sfile
p_dfile
into p_addparam separated by space.
refresh t_btcxpm. clear t_btcxpm.
call function 'SXPG_CALL_SYSTEM'
exporting
commandname = 'ZSHELL'
additional_parameters = p_addparam
tables
exec_protocol = t_btcxpm
exceptions
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
others = 12.
if sy-subrc = 0.
write : /
'File',p_sfile,'moved to',p_dfile.
else.
write : / 'Error Occured'.
endif. -
How to trigger GP workflow through ABAP Program.
Hi All.
i have one scnerio , i want to create BOM through Custom Ztransaction that will be developed in ABAP Modulepool.
User will create BOM from this ztransaction through Transactional Iview in PORTAL,Once the user save transaction , i want to trigger a GP(Guided Procedure ) workflow,from ABAP Program.
is it possible to trigger GP workflow?
if yes how to do it , please suggest the way out.
Regards,
Shyam.Hi lingana,
As u see in my requriment that, Workflow is not designed within SAP , But the Workflow will be designing
in SAP Netweaver, its a GP Workflow. And Ztransaction(Developed by ABAP) will be seen by user through portal and
he save transaction on PORTAL, In backend ABAP program will run , and after meeting certain condition, it should create
or(Initiate) GP workflow(process).
So my question is , how ABAP Program will call GP workflow, How the connection will be made in between ABAP Code and GP workflow framework.
If any doubt regarding requriment let me know,
Regards,
Shyam. -
How to Trigger a Process Chain through ABAP Program
Hi
I have a Requirement to trigger a process Chain on 1st, 2nd and 3rd day of the month for 2 times in a Day.
Can any one give me any idea, how i can do it by writing a ABAP program and triggering the Process chain.
If anyone can share the Logic for ABAP program means, that will be helpful for me, as i dont have much expertise on writing ABAP program.
Regards,
Muruganand.KHi,
you can achieve this in a following way.
DATA : v_date type sy-datum,
v_day(2) type c.
v_date = sy-datum.
v_day = v_date6(2).+
if v_day = '01' or
v_day = '02" or
v_day = '03".
CALL FUNCTION RSPC_API_CHAIN_START.
pass the name of the chain to this function module.
hope this wil help. -
How to catch errors watched in sxmb_moni through abap program??
Dear Gents,
I have one scenario which is proxy -> xi -> jdbc. Scenario works fine when every thing is good, but if there are any errors in XI usually we catch the exception after calling the proxy as :
TRY.
CALL METHOD cl_rfq_sapin->mios_rfq_sapin
EXPORTING
output = output
IMPORTING
input = input.
COMMIT WORK.
CATCH cx_ai_system_fault INTO cl_system_fault .
gv_system_fault = 'X'.
CATCH cx_ai_application_fault INTO cl_application_fault.
gv_application_fault = 'X'.
ENDTRY.
But by this code we are able to know whether it is system error or application error. But we cant get actual error. To see the actual error we need to go to SXMB_MONI in XI. The some sample error in sxmb_moni is as follows :
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error when attempting to get processing resources: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: DriverManagerException: Cannot establish connection to URL 'jdbc:microsoft:sqlserver://10.56.5.79:1433;databaseName=SXD': SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]The requested instance is either invalid or not running.</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
So is there any way we can catch the above error in the abap program ??
Your responeses were highly appreciated.
Regards,
Santhoshhi,
did you try using acknowledgments?
http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
(code at the bottom of this page)
Regards,
Michal Krawczyk -
How can i debug my abap program?
hi. how can i debug my program?
Hi,
There are many ways to start debugger
By clicking the Execute button and selecting the debugging mode.
From the ABAP/4 editor, by executing a program choosing Program  Execute  Debugging from the menu.
Setting breakpoint in the program
Components of ABAP/4 debugger
The debugger shows the program information using six different views.
Fields: Displays the field contents.
Table: Allows modifying the contents of internal table.
Breakpoints: Displays list of Breakpoint in the Program.
Watchpoints: Allows dealing with Watchpoints.
Calls: System call status like Event, Form etc.,
Overview: Presents the program structure, events, subroutines, and modules.
Settings: Displays the calling sequence within a particular event, up to the current breakpoint.
All these options are shown in the following screen.
Arrow indicates the breakpoint of the program i.e., where user has stopped the program.
Breakpoints
A breakpoint is the signal, which is specified in the program, tells the system to stop the program execution and to start the debugger. Following types of breakpoint are available with ABAP/4:
Static are set up with the BREAKPOINT keyword inside the program, which you can directly display with the ABAP/4 source code editor. To set the breakpoint in the program enters the keyboard BREAKPOINT.
Dynamic this breakpoint is not visible in the code. Position the cursor over the source code line to have the breakpoint and then select utilities -  breakpoint -  set. You can delete them or display them from breakpoint list. Or you can execute the program in the ABAP/4 debugger i.e., in debugging mode.
Watchpoints are field specific. The program is stopped when the field reaches the value specified in the watchpoint. Execute the program in debugging mode. Position the cursor over the needed field. Press the F button to get the view of field. Select the checkbox for the needed watchpoint. Click on the continue button.
Keywords/events The program stops just before executing a specific event or keyword. To set breakpoint at particular event, from initial screen of debugger, select Breakpoint  Breakpoint at  at event/at keyword. Enter the name of the keyword or event. Click on OK.
Navigating through the breakpoint
Following buttons are used to navigate through the program and debugger.
Single step: Executes a single program command.
Execute: Similar to the single step, but when a program calls a subroutine, it executes the whole subroutine unlike single step.
Continue: Executes the program until it is finished or until it finds next breakpoint.
Return: Allows for executing the program instruction up to the end of a routine and stops in the line of code where the subroutine gives back control to the main program.
Tables: Switches the debugger to the table view.
Displaying and modifying values
Every time the program is stopped within a debugger, you can display and modify the contents of table field and fields.
To display the fields, click on V and you can view the contents of system field, program field, ABAP/4 dictionary fields, and external program fields.
Displaying and modifying internal tables
When you click on the Table button from the initial ABAP/4 debugger screen, the system will display the table debugger view. Here you need to enter the name of the internal table to be displayed. You can modify or delete or add i.e., insert the internal table Contents. These changes are applicable only for the debugging and do not affect the structure of internal table in the program.
Reward. -
Parallel Processing through ABAP program
Hi,
We are trying to do the parallel processing through ABAP. As per SAP documentation we are using the CALL FUNCTION STARTING NEW TASK DESTINATION.
We have one Z function Module and as per SAP we are making this Function module (FM)as Remote -enabled module.
In this FM we would like to process data which we get it from internal table and would like to send back the processed data(through internal table) to the main program where we are using CALL FUNCTION STARTING NEW TASK DESTINATION.
Please suggest how to achieve this.
We tried out EXPORT -IMPORT option meaning we used EXPORT internal table in the FM with some memory ID and in the main program using IMPORT internal table with the same memory ID. But this option is not working even though ID and name of the internal table is not working.
Also, SAP documentation says that we can use RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
IMPORTING RFCSI_EXPORT = INFO in conjunction with CALL FUNCTION STARTING NEW TASK DESTINATION. Documentation also specifies that "RECEIVE is needed to gather IMPORTING and TABLE returns of an asynchronously executed RFC Function module". But while creating the FM remote-enabled we cant have EXPORT or IMPORT parameters.
Please help !
Thanks in advance
Santosh<i>We tried out EXPORT -IMPORT option meaning we used EXPORT internal table in the FM with some memory ID and in the main program using IMPORT internal table with the same memory ID. But this option is not working even though ID and name of the internal table is not working</i>
I think that this is not working because that memory does not work across sessions/tasks. I think that the
IMPORT FROM SHARED BUFFER and EXPORT TO SHARED BUFFER would work. I have used these in the past and it works pretty good.
Also,
here is a quick sample of the "new task" and "recieve" functionality. You can not specify the importing parameters when call the FM. You specify them at the recieving end.
report zrich_0001 .
data: session(1) type c.
data: ccdetail type bapi0002_2.
start-of-selection.
* Call the transaction in another session...control will be stop
* in calling program and will wait for response from other session
call function 'BAPI_COMPANYCODE_GETDETAIL'
starting new task 'TEST' destination 'NONE'
performing set_session_done on end of task
exporting
companycodeid = '0010'
* IMPORTING
* COMPANYCODE_DETAIL = ccdetails
* COMPANYCODE_ADDRESS =
* RETURN =
* wait here till the other session is done
wait until session = 'X'.
write:/ ccdetail.
* FORM SET_session_DONE
form set_session_done using taskname.
* Receive results into messtab from function.......
* this will also close the session
receive results from function 'BAPI_COMPANYCODE_GETDETAIL'
importing
companycode_detail = ccdetail.
* Set session as done.
session = 'X'.
endform.
Hope this helps.
Rich Heilman
Maybe you are looking for
-
I am using lumia920 while typing any mail or message if any correction required editing is difficult at particular word. It should have cursor like BB mobile or Samsung mobile has which helps in editing words. or if any setting missing kindly guide.
-
"Filename could not be converted because protected files cannot be converte
ok, why can't i burn an MP3 disc from the files i download from iTunes? When i try, i get the 'protected files cannot be converted' prompt. What setting do i have wrong that won't let me do this? any help? thanks.
-
Document or link about ETL process troubleshooting
Hello Gurus, will you please provide some document or link about ETL process troubleshooting. Many thanks, Frank Zhang
-
Permissions actually repaired?
I've read several other threads concerning this topic. Pages and pages of the exact same permissions that are repaired each time the function is triggered, mostly involving Quicktime. All updates installed and everything works well except for a few a
-
hello tous le monde depuis quelle que jours j'essais de résoudre se problème de pub sur mes navigateur qui sont google chrome ou safari. j'ai télécharger des logiciel que j'ai supprimé part la suite et depuis j'ai plein de pub qui s'ouvre quand je va