Custom Programs
Hi,
could u please tell me the physical table name which stores program names created in se38 transaction.
there is a table called tadir which has program ids but i was wondering how wil i get to know the program name from this table?
any pointers?
Thanks,
VJ
Hi Vijaya,
Check REPOSRC
And for Database View
TRDIR: System Table TRDIR
Regards,
Mani
Similar Messages
-
Logical database sdf in custom program not triggering selection screen?
I added logical Database SDF (screen 905) to a custom program - but the selection screen is not getting triggered.
Do I have to associate these somewhere?
Thanks,
VenHI,
Declare this statement after the Report Statement in the program.
TABLES : SKA1, SKB1.
You will get the selection screen now. -
Re: Payment order Reversal using custom program
Hello Experts,
The requirement is when we void any chek the corresponding documents (payment request ,payment order and accounting document) related to the check has to be reversed in Fi Tresury.
Reversal of the payment reqest and the accounting document in my program is fine but payment order reversal is not happening in the program.
I am able to reverse it by using standard transaction ihc02.
In the program i have used the same function module IHC_BCA_PAYM_ITEM_REVERSE as used in the standard program and passing the same values what we are passing in the standard transaction but reversal of the payment order was not happening using that functiona module.
Please suggest me what to do with this requirement and how to reverse the payment order using the custom program.
Thanks and regards
pavanHello Experts,
The requirement is when we void any chek the corresponding documents (payment request ,payment order and accounting document) related to the check has to be reversed in Fi Tresury.
Reversal of the payment reqest and the accounting document in my program is fine but payment order reversal is not happening in the program.
I am able to reverse it by using standard transaction ihc02.
In the program i have used the same function module IHC_BCA_PAYM_ITEM_REVERSE as used in the standard program and passing the same values what we are passing in the standard transaction but reversal of the payment order was not happening using that functiona module.
Please suggest me what to do with this requirement and how to reverse the payment order using the custom program.
Thanks and regards
pavan -
POSTING G/L account documents through custom program
While posting the documents through the tcode fb01,
when I tick at PA segement button ASSIGNMENT TO
PROFITABILITY SEGMENT screen opens, DERIVATION
BUTTON is activated/enabled . But through a custom program when session is
processed and when PA segement button is ticked on
ASSIGNMENT TO PROFITABILITY SEGMENT screen, DERIVATION BUTTON is not visible. I can only see Continue, Next Page, Delete Assignment, and Cancel buttons. Where do I need to check this problem?Hi,
Nope, in standard SAP you can not do that.
You would need to develop your custom program for it.
Regards,
SDNer -
Report to check authorization object used in customized programs
Hi Guys,
An auditor came and he raised a question to us, he asked whether all of our customized transactions and programs are maintained with authorization checks? The question is how can we check what authorization objects are used for our customized programs and transaction codes? The developer did not maintain the objects used for that program in SU24 table. Is there a program or a report to show us all the authorization object used for a customised program or transaction? Example : T-code MIGO we can check in SU24 table for all the authorization object used. How do we check for customized tcodes? Please advise. Thanks!
Edited by: Jarod Tan on Nov 25, 2010 9:42 AMNote that some programs are built in such a way that no (visible) auth check is necessary, or even desired at all.
To determine the necessity of an auth check, you should check that starting it has an entry point (tcode, rfc, service) which is appropriately restricted. The rest (whether and where and how a further check is evaluated) is entirely dependent to what the program actually does.
Well designed applications generally have centralized functions and methods, and the checks are in there or a "base check" they use.
Others again use the same in UI programming to determine the visibility of functions, to make the application more intuitive for the user. This on it's own is however not a sufficient auth check to rely on.
Code review is an art form!
Cheers,
Julius -
How to get the custom program generated in Background
Dear Freinds,
I have written a below code in my submit program ( zreport) .
REPORT ZHRRPCPRRU0_SUBMIT NO STANDARD PAGE HEADING MESSAGE-ID zhr_msg.
SUBMIT RPTQTA00 VIA SELECTION-SCREEN
WITH pnpbegda = sy-datum
WITH pnpendda = lv_date
with pnppernr = '99007057'.
As per your logic i have used the submit program and i am able to default the dates in the Standard program RPTQTA00 , that is perfectly correct . Now if run the standard report it is giivng me the ouput ..so the foreground concept is working correctly.
Now if iam scheduling the Z report of the custom report (z program) where iam calling the submit program
it is just scheduling and further when i look at the sm37 i can see the job getting finished . However , i dont find any spool because the standard report has not been executed , with my custom report (using the logic with submit program above in zprogram ) i am calling the standard program (RPTQTA00).
so could you please let me know how the standard program will execute and get the spool genereated? in the case of background
because when i have executed only the standard report in background i can see that it is being exceuted spool as well, however when iam calling from custom program no spool is created because my custom program only submiting the standard report and it is not executing the standard report in the case of backround ...because when iam running the custom program in the Foreground it is calling the standard program and getting the values defaulted based on the parameters which i passed , so it gets defaulted later iam running the standard program manually .
So please could you let me know how will the standard program also gets genereated in the backgroung along with my custom report.
Thanks in advance
regards
madhuri,Hi Can you try the following?
Hope this helps... (Taken from help)
Example
Scheduling a submitable program as a background task with the number number in a background request name. After scheduling, the background task is completed by function module JOB_CLOSE and released immediately.
DATA: number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname VALUE 'JOB_TEST',
print_parameters TYPE pri_params.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = name
IMPORTING
jobcount = number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = number
jobname = name
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF. -
Pass Value from Excel to custom program
Hello,
I want to pass value from Excel to Custom Program being called in the Custom Integrator and i am using the Import in the Importer section but it is not getting passed.
Please advise and i am on R12.1.3.
ThanksPl do not post duplicates - Concurrent Program Parameter
-
Multiple smartform call in a single custom program
Hi,
I have a custom program from where i have to call A4 and A3 size smartforms. If i use SSF_OPEN and then call to smartforms and SSF_CLOSE it gives me error like previous martform request is not completed.
Can anybody provide me the code how to call first A4 size smartform and then A3 size in a single call?
also is there a need to provide something called TRAY for printing the pages?
Regards,
CooldeepDid you set the NO_OPEN field and the NO_CLOSE field of the control structure for every called form between SSF_OPEN and SSF_CLOSE. (*)
But are you sure it is possible (and advisable) to merge two form spools of different format (2 different trays) in a single print request ? (**)
Regards,
Raymond
(*) ref [Printing Several Forms in One Print Request|http://help.sap.com/saphelp_nw04/helpdata/en/64/bf2f12ed1711d4b655006094192fe3/frameset.htm]
(**) Also check your parameters and compare with sample report SF_EXAMPLE_03 -
Object Custom Program Name of class RE and language EN does not exist
Hi All,
We are getting this bbelow error while running a custome program ,
Object <Custom Program Name> of class RE and language EN does not exist
Do any one has faced this similar issue earlier.
Regards,
SenHi,
How did you resolve this problem ?
Re: Object <Custom Program Name> of class RE and language EN does not exist.
I am also encountering the same issue when I am executing the report.
Regards,
SSR. -
Table for the descriptions of the custom programs.
Hello,
Can anyone please tell me the table name in which I could find the descriptions of the custom programs which we create in SAP?
Thanks and Regards,
Amit.By mistake asked twice
-
Pay Scale inrease - Custom Program
HI Guyz,
A custom program is developed for the pay scale increase and it should be run on a regular basis as a background job to update the pay increase of the employees who have completed either 60 days or 6 months or 9 months from the hire or rehire date. The program should perform the processing only for the hourly employees of the Personnel Area. The processing would consist of checking the current date with the employee hire or rehire date and determining the increase in amount based on the number of days the employee has been working. After the necessary processing is done the program will update new data records for the basic pay infotype for the associates who need to have an increase in the pay.
Can someone help me with the technical steps needed for this development.
Note:Pay Scale Reclassification program cannot be used as we are not implementing compensation managementYes ..
This Bapi will do the same job & i guess in a easier way than BDC
Call this Bapi in loop.
Make sure to lock and unlock master records of employee before
and after the call using
BAPI_EMPLOYEE_ENQUEUE --- lock
BAPI_EMPLOYEE_DEQUEUE -
unlock
<b>or</b>
HR_EMPLOYEE_ENQUEUE -
Lock
HR_EMPLOYEE_DEQUEUE --- unlock
otherwise bapi will throw a message personnel number not yet locked.
Hope this helps.
Kindly reward in case useful.
Rgds,
Darshan -
Attach Documents to Custom Program Using Generic Object Services
Hi There,
I created Object type ZGOS and used in the custom program, when i try to attach documents it allows and then shows in attachment list.
But When I use that program next time that document attached is not available.
Is there any separate save Class or FM available for saving the document to the specified custom program.
I am using following code in the program,
CLEAR obj.
SET OBJECT TYPE TO 'ZGOS'
obj-objtype = objtype.
SET OBJECT KEY = REPORT NAME
SELECT SINGLE name
FROM trdir
INTO obj-objkey
WHERE name = sy-repid.
CALL GOS MANAGER WITHOUT CONTAINER (WILL BE DISPLAYED IN THE TOOLBAR)
CREATE OBJECT manager
EXPORTING
is_object = obj
EXCEPTIONS
OTHERS = 1.
Thanks in advance.Check the Naimesh Patel Blog he explain very well
http://help-abap.blogspot.com/2009/02/generic-object-services-gos-toolbar.html -
GOS on custom program not saving links
Hi all, I've just implemented GOS to a Z program following the instructions of a SDN contribution document called "How to attach documents to any custom program using GOS". I simply want to add GOS to the selection screen of the program in order to locat and store documentation regarding this Z program.
I run the program and the GOS button is displayed, I add some link or document and then I display the list of attachments and everything seems to be working ok. So when I leave the program and run it again no list of attachments is available as this is greyed out. Anyone could help please.
Steps I performed:
I created the Business object saved and released to implemented with the following:
Key -> programName (TRDIR-NAME)
and redefined the GOSAddObjects method like this:
BEGIN_METHOD GOSADDOBJECTS CHANGING CONTAINER.
DATA:
SERVICE(255),
BUSIDENTIFS LIKE BORIDENT OCCURS 0,
LS_BORIDENT Type BORIDENT.
CLEAR LS_BORIDENT.
LS_BORIDENT-LOGSYS = SPACE.
LS_BORIDENT-OBJTYPE = 'ZGOS'.
LS_BORIDENT-OBJKEY = OBJECT-KEY.
APPEND LS_BORIDENT TO BUSIDENTIFS.
SWC_GET_ELEMENT CONTAINER 'Service' SERVICE.
SWC_SET_TABLE CONTAINER 'BusIdentifs' BUSIDENTIFS.
END_METHOD.
Z program:
REPORT Z_RUBS_TEST_GOS.
CONSTANTS: OBJTYPE TYPE BORIDENT-OBJTYPE VALUE 'ZGOS'.
DATA: MANAGER TYPE REF TO CL_GOS_MANAGER,
OBJ TYPE BORIDENT.
PARAMETERS: MATNR TYPE MARA-MATNR.
AT SELECTION-SCREEN OUTPUT.
CLEAR OBJ.
* SET OBJECT TYPE TO 'ZGOS'
OBJ-OBJTYPE = OBJTYPE.
OBJ-LOGSYS = 'OP1CLNT200'.
* SET OBJECT KEY = REPORT NAME
SELECT SINGLE NAME FROM TRDIR INTO OBJ-OBJKEY
WHERE NAME = SY-REPID.
* CALL GOS MANAGER WITHOUT CONTAINER (WILL BE DISPLAYED IN THE TOOLBAR)
CREATE OBJECT MANAGER EXPORTING
IS_OBJECT = OBJ EXCEPTIONS
OTHERS = 1.You must add COMMIT WORK (AND WAIT or not) somewhere in your application (add a button that the user), or use CREATE OBJECT manager EXPORTING ... IP_NO_COMMIT = space or 'R' ... so that the COMMIT WORK will be done automatically by the GOS manager. Note: IP_NO_COMMIT = 'R' means that the service will start in its own LUW (using synchronous RFC).
For more information, read the [SAP Library - GOS - Publishing unique object|http://help.sap.com/saphelp_nw2004s/helpdata/EN/7e/4dbeb62c8e11d4a39e00a0c943858e/frameset.htm] (well, it doesn't talk about 'R'...) -
ABAP CUSTOM PROGRAMS vs SOX - What is your best approach?
SOX defines you must put in place controls to be sure your users can do only those activities wich are not able to create a risk for your company assets.
You can use GRC AC to get clean and stay clean, but the problem is in your custom developments. Indirectly called transactions are not included in the transaction start check, so I think you must use "authority checks" to validate either stantdard authorization objetcs (sy-tcode, company code...) or custom authorization objects before to call a transacction/BAPI inside a custom program to be sure the user has the right permissions to complete this task.
Should i validate any single authoritation object defined in SU24 for each single transaction called Indirectly?
Any other quick win approach?
thx.Manuel,
There are various types of controls that could be put in place for accomplishing this. Below are some things you could consider to mitigate this risk as I have done in the past which has been sufficent to auditors.
1) Have a solid review process for Functional Design Specs (FDS) reviews of RICEFW objects being developed into your SAP enviroment and be sure to have the process and review documented. This process will allow you to proactively seek out potential issues before they are coded to senstive areas where the potential risk to financial reporting could arise.
2) Implement coding standards for Security such as use of Program Auth Groups, Table Auth Groups, and implement certian SAP notes to secure S_DEVELOP object properly. Refer to https://websmp110.sap-ag.de/securitynotes for security notes.
3) Have a review/monitoring process in place to review access and authorizations to critical objects and transactions. GRC AC is one way to approach this.
You can use abap program "RSABAPSC : Statistical program analysis to find ABAP language commands" to seek out Authority-Checks in custom development as part of a quality review.
Thanks,
Matt -
Moderator message - please use meaningful subject in future
Hi,
My requirement is :
We get a input file in .XLS format. To load, it has to be converted to .TXT format. But this conversion sometimes creates junk characters in the load file.
so to rectify it we need to build a custom program and then Pass the .XLS file as input file for custom program
then Convert it to .TXT and download it
Then read .XLS cell by cell and compare it with the .txt format which just downloaded.
I am building a custom program but while downloading using gui_download i am getting a dump.
how do i go about it.any pointers will be helpful.The piece of code i am using is:
DATA : it_tab TYPE STANDARD TABLE OF alsmex_tabline.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_dpath
i_begin_col = c_begin_col
i_begin_row = c_begin_row
i_end_col = c_end_col
i_end_row = c_end_row
TABLES
intern = it_tab
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = p_dpath
* FILETYPE = 'ASC'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
* SHOW_TRANSFER_STATUS = ABAP_TRUE
* IMPORTING
* FILELENGTH =
TABLES
data_tab = it_tab
* FIELDNAMES =
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Please give pointers on this.
Regards,
Rahul
Edited by: Matt on Jan 29, 2009 2:13 PM - added tagsALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw
i_filename = pfile
TABLES
i_tab_converted_data = lt_excel[].
* EXCEPTIONS
* CONVERSION_FAILED = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = 'D:\Documents and Settings\chenna.kesava.reddy\Desktop\Book1.txt'
FILETYPE = 'ASC'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
CONFIRM_OVERWRITE = 'X'
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
* SHOW_TRANSFER_STATUS = ABAP_TRUE
* IMPORTING
* FILELENGTH = '2000'
tables
data_tab = lt_excel.
* FIELDNAMES =
* EXCEPTIONS
* FILE_WRITE_ERROR = 1
* NO_BATCH = 2
* GUI_REFUSE_FILETRANSFER = 3
* INVALID_TYPE = 4
* NO_AUTHORITY = 5
* UNKNOWN_ERROR = 6
* HEADER_NOT_ALLOWED = 7
* SEPARATOR_NOT_ALLOWED = 8
* FILESIZE_NOT_ALLOWED = 9
* HEADER_TOO_LONG = 10
* DP_ERROR_CREATE = 11
* DP_ERROR_SEND = 12
* DP_ERROR_WRITE = 13
* UNKNOWN_DP_ERROR = 14
* ACCESS_DENIED = 15
* DP_OUT_OF_MEMORY = 16
* DISK_FULL = 17
* DP_TIMEOUT = 18
* FILE_NOT_FOUND = 19
* DATAPROVIDER_EXCEPTION = 20
* CONTROL_FLUSH_ERROR = 21
* OTHERS = 22
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Edited by: Matt on Jan 29, 2009 2:14 PM - added tags -
Custom Program to update the GL journal DFF each time journals are imported
Hi Guru's,
I have a requirement that I need to build a custom program to update the GL Journal Lines DFF. This program will be executed each time sub-ledger journals are imported to GL.
OPM, AP, AR, Inv & OM will be the Journal sources for those the journal line DFF needs to be updated.
Kindly could anyone give me the best way of doing it.
Thanks & Regards,
GenooHello Geno,
A technical solution is when Journal Import program is launched, the updates of DFF are done after the creation of journals in GL.
So no need to have a custom concurrent program to update the Journals.
You can customize the gl_import_hook_pkg.post_module_hook package to call a custom package and do the updates for journals.
HTH,
Vik
Maybe you are looking for
-
Odd Brasero problem with GNOME
when I open my image file, the Brasero Disc Copier open not once by twice, see the image attach for detal. Why is this happen, and anyway I can fix it? Thanks so much NOTE: I post this on somewhere else, on this fourm, but I think here is a better pl
-
Where do I find the information?
Having read through 'The Manual' I cannot locate information on why there are 4 seperate calendars the Green Dot Calendar, the Blue Dot Calendar, the Home Calendar and the Outlook Calendar. Where is there documentation about these, and how do I contr
-
Multiple R/3 Systems - One XI
We have Multiple R/3 Systems( 5 Systems), one XI Server. Whether it is possible for to Separate XI into 5 different areas, where we can process the messages for the 5 different R/3 Systems. Whether it is possible?
-
Can't re install CS4 and before it was a licence problem
I had a problem with my licence so i asked help to Adobe chat. A person told me to uninstall the Creative Suite 4. I did it and he gave me a direct download link on the web to re install the product. (I don't have the CD's because they are in France
-
I set up my new printer. Logged my email, went to sign in but haven't got a password. So I tried to register and it told me I already existed. So I clicked Forgot password but it doesn't recognise my email address. Help!