Authorization to execute ABAP program
Hi,
I would like to execute one ABAP program, so what authorizations i need to have please le tme know? It is developed by our developers i want to test the program in produvction server.
Thanks
praveen
Praveen,
which authorizations you need depend of course on many things.
But if you not will be using the transaction method mentioned earlier in the post you have to extend your own ABAP with own authorization checks.
You can reuse SAP-authorizations or create your own authorizations as well. It all depends on what you are trying to achieve. Some times it is wise to reuse, and some times it is wise to create own authorizations.
http://help.sap.com/erp2005_ehp_03/helpdata/EN/52/67167f439b11d1896f0000e8322d00/frameset.htm
Good luck!
//freppe
Similar Messages
-
Error in executing ABAP program. Error occurred when creating dataset
hi,
when I use LKM SAP ERP to Oracle (SQLLDR) to extract data from SAP ERP server. I execute my interface, and it's stop at extract data step.
This is message:
java.lang.RuntimeException: Error occured in open tool execute method...Error in executing ABAP program...Error in executing ABAP program...Error occurred when creating dataset/abc/ZODI_13001_6001_GLOBAL.txt
I tried others path name, tried slash or backslash. This is content in code tab
OdiSAPAbapExecute "-UPLOAD=1" "-EXECUTE=1" "-EXECUTEBASE_RKM=0" "-ZRFC_RUN_INSTALL=1" "-ABAP_PROGRAM_NAME=ZODI_13001_6001" "-HOST=10.86.87.24" "-USER=sv_hoa" "-PASSWORD=<@=snpRef.getInfo("SRC_PASS") @>" "-SAP_CLIENT=800" "-SAP_LANGUAGE=EN" "-SAP_SYSTEM_NUMBER=02" "-SAP_FUNCTION_GROUP_NAME=ZODI_FGR_13001" "-CONNECTION_POOL_NAME=SAP_ODI_ERP_POOL_10.86.87.24" "-CONNECTION_POOL_SIZE=10" "-FILE_DELIMITER=<@=""+(char)8@>" "-FILE_NAME=ZODI_13001_6001_GLOBAL.txt" "-FTP_HOST=10.86.82.108" "-FTP_USER=anh" "-FTP_PASSWORD=<@=sFtpPassword@>" "-FTP_PASSIVE_MODE=1" "-FTP_TRANSFER_TIMEOUT=100000" "-ODI_VARIABLE_NAMES=" "-ODI_VARIABLE_VALUES=" "-USER_ABAP_PARAMETER_NAMES=IV_DELIMITER,CHAR3;IV_FILENAME,CHAR255;IV_USER,CHAR35;IV_PWD,CHAR35;IV_HOST,CHAR35;IV_HASHVALUE,CHAR35;IV_PATH,CHAR35;IV_MAX_ROW_CNT,SYTABIX;IV_FETCH_BATCH_SIZE,SYTABIX;" "-USER_ABAP_PARAMETER_VALUES=<Value>" "-USER_ABAP_PARAMETER_SEPARATOR=<Value>" "-ABAP_TABLE_PARAMETERS=RETURN,BAPIRETURN;ET_FILE_RETURN,BAPIRET2" "-ABAP_EXPORT_PARAMETERS=ERRORMESSAGE;SY-MSGV1" "-LOG_FILE_NAME=C:\Users\anh\AppData\Local\Temp\SapAbapExecuteOpenTool_13001.log" "-FTP_PATH=/abc/" "-DEV_CLASS=ZODI_DEVCLASS" "-MAX_ROW_COUNT=" "-FETCH_BATCH_SIZE=100000" "-HASH_VALUE_MARKER=HVM" "-ABAP_PROGRAM_BODY=
*Final Type declarations
TYPES : BEGIN OF ty_final,
Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_final.
*Final Temp Type Declarations
TYPES : BEGIN OF ty_final_tmp,
Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID ,
Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH ,
Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH ,
Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH ,
Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI ,
Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU ,
END OF ty_final_tmp.
*Final Target Type Declarations
TYPES : BEGIN OF ty_final_target,
C0_Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
C5_Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_final_target.
* Table type for Y03HOCSINH
TYPES : BEGIN OF ty_Y03HOCSINH,
HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_Y03HOCSINH.
TYPES: BEGIN OF gs_text,
line(843) TYPE c,
END OF gs_text.
*Structure Declarations
DATA: wa_final_string TYPE string,
wa_final TYPE ty_final,
wa_final_target TYPE ty_final_target,
wa_Y03HOCSINH TYPE ty_Y03HOCSINH,
*Table Declarations
tt_final TYPE STANDARD TABLE OF ty_final,
tt_Y03HOCSINH TYPE STANDARD TABLE OF ty_Y03HOCSINH,
tt_final_target TYPE STANDARD TABLE
OF ty_final_target,
tt_final_tmp TYPE STANDARD TABLE OF ty_final_tmp,
tt_final_tmp1 TYPE STANDARD TABLE OF ty_final,
gt_result TYPE STANDARD TABLE OF gs_text,
*Variable Declarations
lv_path TYPE string,
lv_flag TYPE char1,
C0_Y03HOCSINH_HOCSINH_ID TYPE
STRING,
C1_Y03HOCSINH_MA_HOC_SINH TYPE
STRING,
C2_Y03HOCSINH_TEN_HOC_SINH TYPE
STRING,
C3_Y03HOCSINH_GIOI_TINH TYPE
STRING,
C4_Y03HOCSINH_DIA_CHI TYPE
STRING,
C5_Y03HOCSINH_GHI_CHU TYPE
STRING,
wa_final_tmp TYPE ty_final_tmp,
lv_file TYPE string,
lv_datum TYPE sy-datum,
lv_date TYPE char10,
wa_result TYPE string,
lv_delimiter type string,
lv_cnt TYPE sytabix,
*-Cursor Declaration
lv_Y03HOCSINH_dbcur TYPE cursor,
lv_tabix_frm TYPE sy-tabix.
lv_delimiter = iv_delimiter.
IF iv_hashvalue = 'HVM'.
*Open/delete output file
CONCATENATE iv_path iv_filename INTO lv_path.
*Check for file existence, if found, delete it
OPEN DATASET lv_path FOR INPUT
IN TEXT MODE
ENCODING DEFAULT.
IF sy-subrc EQ 0.
DELETE DATASET lv_path.
ENDIF.
*Open/create output file
OPEN DATASET lv_path FOR APPENDING
IN TEXT MODE
ENCODING DEFAULT.
IF sy-subrc EQ 0.
*Batch Processing
OPEN CURSOR WITH HOLD lv_Y03HOCSINH_dbcur FOR
SELECT HOCSINH_ID
MA_HOC_SINH
TEN_HOC_SINH
GIOI_TINH
DIA_CHI
GHI_CHU
FROM Y03HOCSINH.
DO.
*Check for the counter, only for first batch
*process new line is required...
lv_cnt = lv_cnt + 1.
REFRESH tt_Y03HOCSINH.
FETCH NEXT CURSOR lv_Y03HOCSINH_dbcur
APPENDING TABLE tt_Y03HOCSINH
PACKAGE SIZE IV_FETCH_BATCH_SIZE.
IF NOT tt_Y03HOCSINH IS INITIAL.
ELSE.
EXIT.
ENDIF.
LOOP AT tt_Y03HOCSINH INTO wa_Y03HOCSINH.
MOVE wa_Y03HOCSINH-HOCSINH_ID
TO wa_final_tmp-Y03HOCSINH_HOCSINH_ID.
MOVE wa_Y03HOCSINH-MA_HOC_SINH
TO wa_final_tmp-Y03HOCSINH_MA_HOC_SINH.
MOVE wa_Y03HOCSINH-TEN_HOC_SINH
TO wa_final_tmp-Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_Y03HOCSINH-GIOI_TINH
TO wa_final_tmp-Y03HOCSINH_GIOI_TINH.
MOVE wa_Y03HOCSINH-DIA_CHI
TO wa_final_tmp-Y03HOCSINH_DIA_CHI.
MOVE wa_Y03HOCSINH-GHI_CHU
TO wa_final_tmp-Y03HOCSINH_GHI_CHU.
APPEND wa_final_tmp TO tt_final_tmp.
ENDLOOP.
free : tt_Y03HOCSINH.
LOOP AT tt_final_tmp INTO wa_final_tmp.
MOVE wa_final_tmp-Y03HOCSINH_HOCSINH_ID
TO wa_final_target-C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_tmp-Y03HOCSINH_MA_HOC_SINH
TO wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_tmp-Y03HOCSINH_TEN_HOC_SINH
TO wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_tmp-Y03HOCSINH_GIOI_TINH
TO wa_final_target-C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_tmp-Y03HOCSINH_DIA_CHI
TO wa_final_target-C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_tmp-Y03HOCSINH_GHI_CHU
TO wa_final_target-C5_Y03HOCSINH_GHI_CHU.
Append wa_final_target to tt_final_target.
ENDLOOP.
free : tt_final_tmp.
Clear wa_final_target.
IF NOT iv_max_row_cnt IS INITIAL.
Loop at tt_final_target into
wa_final_target TO iv_max_row_cnt.
MOVE wa_final_target-C0_Y03HOCSINH_HOCSINH_ID
TO C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH
TO C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH
TO C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_target-C3_Y03HOCSINH_GIOI_TINH
TO C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_target-C4_Y03HOCSINH_DIA_CHI
TO C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_target-C5_Y03HOCSINH_GHI_CHU
TO C5_Y03HOCSINH_GHI_CHU.
CONCATENATE
C0_Y03HOCSINH_HOCSINH_ID
C1_Y03HOCSINH_MA_HOC_SINH
C2_Y03HOCSINH_TEN_HOC_SINH
C3_Y03HOCSINH_GIOI_TINH
C4_Y03HOCSINH_DIA_CHI
C5_Y03HOCSINH_GHI_CHU
INTO wa_final_string
SEPARATED BY lv_delimiter.
IF sy-tabix EQ 1 AND lv_cnt EQ 1.
CONCATENATE wa_final_string
lv_delimiter INTO wa_final_string.
ELSE.
CONCATENATE '<@=""+(char)8@>' lv_delimiter wa_final_string
lv_delimiter INTO wa_final_string.
ENDIF.
APPEND wa_final_string TO gt_result.
CLEAR : C0_Y03HOCSINH_HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI,
C5_Y03HOCSINH_GHI_CHU.
ENDLOOP.
ELSE.
Loop at tt_final_target into wa_final_target.
MOVE wa_final_target-C0_Y03HOCSINH_HOCSINH_ID
TO C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH
TO C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH
TO C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_target-C3_Y03HOCSINH_GIOI_TINH
TO C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_target-C4_Y03HOCSINH_DIA_CHI
TO C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_target-C5_Y03HOCSINH_GHI_CHU
TO C5_Y03HOCSINH_GHI_CHU.
CONCATENATE
C0_Y03HOCSINH_HOCSINH_ID
C1_Y03HOCSINH_MA_HOC_SINH
C2_Y03HOCSINH_TEN_HOC_SINH
C3_Y03HOCSINH_GIOI_TINH
C4_Y03HOCSINH_DIA_CHI
C5_Y03HOCSINH_GHI_CHU
INTO wa_final_string
SEPARATED BY lv_delimiter.
IF sy-tabix EQ 1 AND lv_cnt EQ 1.
CONCATENATE wa_final_string
lv_delimiter INTO wa_final_string.
ELSE.
CONCATENATE '<@=""+(char)8@>' lv_delimiter wa_final_string
lv_delimiter INTO wa_final_string.
ENDIF.
APPEND wa_final_string TO gt_result.
CLEAR : C0_Y03HOCSINH_HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI,
C5_Y03HOCSINH_GHI_CHU.
ENDLOOP.
ENDIF.
free : tt_final_target.
IF NOT gt_result IS INITIAL.
CLEAR wa_result.
LOOP AT gt_result INTO wa_result.
TRANSFER wa_result TO lv_path.
ENDLOOP.
ENDIF.
REFRESH gt_result.
*End of main loop for batching
ENDDO.
*Close dataset
CLOSE DATASET lv_path.
CLOSE CURSOR lv_Y03HOCSINH_dbcur.
ELSE.
DATA: lv_mesg TYPE string.
CLEAR et_file_return.
et_file_return-type = 'E'.
CONCATENATE
'Error occurred when creating dataset' lv_path
INTO lv_mesg.
et_file_return-message = lv_mesg.
Append et_file_return.
ENDIF.
ELSE.
CLEAR et_file_return.
et_file_return-type = 'E'.
et_file_return-message =
'Installed ABAP program does not match interface definition'.
APPEND et_file_return.
ENDIF.
Thanks for helpr u able to figure it out..........i got the same error .......can someone help me fix this issue
-
Execute ABAP Program - Error in Open File Cust_Dim.dat
HI All,
I am trying to Implement scenario of Data Service designer for Extract SAP Application data (page no. 181 Onwards). It is for transfer data from SAP ECC - KNA1 to MSSQL table.
I have Data Service server install on my system.
I have implement all the steps. When I execute job server. I am getting error like
"Execute ABAP program <C:/Program Files/Business Objects/BusinessObjects Data Services/ZCUSTDIM_1.aba> error < Open File Error -- C:\Program Files\Business Objects\/Cust_Dim.dat>"
Does anyone knows about this? I have tried to find lot in SDN but didn't find any solution.
Thanks
RatnakarHi all
I was having the exact same problem as the one explained here.
I was a little mixed up because I assigned full privileges on the destination folder to one specific account called installsap
I used this account for installing SAP BO Data Services. This account is the one configured on the Business Objects Data Services Service:
However, I kept getting the same error, as if this account had not enough privileges over the folder.
I saw that there is another Service called Server Intelligent Agent. I went through its configuration Properties by using the Central Configuration Manager, specifically within the Log On As Property and it seemed like a non specific System Account was configured there.
Then I open the services.msc (Windows application) in order to see this very same service configuration and it had NOTHING specified there, nor a Local System Account nor an specific user account.
So, I stopped the service and specified the installsap account I used for the Business Objects Data Services Service. After that I verified I could see this configuration through the Central Configuration Manager and now both tools showed the same.
Then I started the SIA Service retried again executing the ABAP Data Flow and the Error in Open File was gone.
It is how the SIA Service configuration looks like.
By the way, I am not sure if the "Job Server Service" which was cited before in this thread is the same as the Server Intelligence Agent Service I modified
Besides, although I've been using DS for quite a considerable amount of time, I have never heard of such "Job Server Service". Let me know if I am wrong.
Anyways it worked for me and I hope it works for someone else who faces the same error.
Best regards! -
How to set a Executable ABAP Program to run as a Background Batch Job
Hi
Currently I had a Executable ABAP Program which when executed prompts for user to enter selection once entered and executed it will delete user entered selections from a Table.
Now my requirment is to enhance that program to run it as a BACKGROUND BATCH JOB so that there will be an entry in SM37 when the program is executed
How can i achieve thisHi,
Please refer this link .
It has the steps.
http://sapient.wordpress.com/2007/06/19/how-do-you-set-up-background-jobs-in-sap/
Regards,
SuryaD. -
Profile Parameter to execute Abap Program at user logon.
Hi Experts
I've written a small printer selection program to change the users profile parameter.
Is there another profile parameter that can be given to execute this program automatically
when the user logs on.....The reason why I'm looking for a profile parameter to do this is, that only
certain users need to have this happen at logon.
Kind Regards
VicHi Javi,
I don't think you need a custom process chain for this. You can use delivered Process Chain for logic and hard-code your script name in the package. In that script you can call BADI that has your ABAP program inside.
You can find guides how to build BADI here:[How to Pass Parameters to Custom Logic BADI using START_BADI|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f4252d-98ca-2b10-e689-f85085ae2d12] or here [Creating Custom Script Logic Keyword BADI's - BPC NW|Creating Custom Script Logic Keyword BADI's - BPC NW;.
Method IF_UJ_CUSTOM_LOGIC~EXECUTE has IT_CV as one of parameters. In your script you probably have to use *XDIM_MEMBERSET to get parameters from DM prompt. IT_CV will have all XDIM members.
Please let me know if you have any other questions.
Regards,
Gersh -
Execute ABAP program on R3 and export data to BI
Hi All,
I would like to know if there are steps to execute the remote program on R3 side and return the data to BI? I read a few
articles in there but couldn't figure how to do that yet. Could some one point me to the source/documents that I can read about?
Thanks in advance,
TaiIf you have an ABAP program on BW, you can call the Function Module on ECC through RFC and it will retireve the data. Depending on data volume and how sophisticated you want to get, you can even packetize the extraction so as to not put a huge strain on your ECC and BW resources.
This is typically the technology behind how standard content and generic R3/ECC DataSources extract data from an R3/ECC system and into a BW system.
For modeling purposes, if the data you want to extract is on a table in R3/ECC, you'd be better off creating a generic DataSource, if a standard content DataSource doesn't already exist. RFC enabled Function Modules are good for reading flat files on a R3/ECC server to load into BW. -
Executing ABAP program in RFC to File
Hi,
In the RFC to File, the RFc is called in the ABAP program.
So when i am executing the ABAP program for the 1st time it doesnt reach PI, only when clicking the execute button multiple times execution reaches PI and a message ID is created along with the required data.
what is the problem? why is it not reaching PI when i execute at the first time itself?Hi Ravi,
Thanks for the response.
>>> First u have check RFC destinatios wheter it working or not. 1) U r program ID should match with RFc destination and RFC adapter configurations.
I have tested the RFC destinations and it works fine. I have also given the same Program ID in adapter configuration
>>>2)should write commit work at last in the Abap Program.
Commit is present at the end of the ABAP program
Cache refresh was also done. But still facing the same problem.
>>>5)Check in SM58 .
And we are getting the following errors randomly:
Server repository could not create function template for 'ZFN_EXTRACT
Commit fault: com.sap.aii.adapter.rfc.afcommunication.RfcChannelMismatchE -
Call or Execute, ABAP program with variant
REPORT Z_call_ABAP_program NO STANDARD PAGE HEADING.
TABLES : BKPF , INDX.
PARAMETERS : ZBUKRS LIKE BKPF-BUKRS OBLIGATORY DEFAULT '0001',
ZGJAHR LIKE BKPF-GJAHR OBLIGATORY DEFAULT '1995'.
SELECT-OPTIONS : ZPERIOD FOR BKPF-MONAT OBLIGATORY.
DATA : BEGIN OF CHECK_TAB OCCURS 100,
CLIENT LIKE BSEG-MANDT ,
COMPANY LIKE BKPF-BUKRS ,
FINYR LIKE BKPF-GJAHR ,
MONAT LIKE BKPF-MONAT ,
LDDT LIKE BKPF-CPUDT ,
END OF CHECK_TAB.
DATA : BEGIN OF CHECK_TABO OCCURS 100,
CLIENT LIKE BSEG-MANDT ,
COMPANY LIKE BKPF-BUKRS ,
FINYR LIKE BKPF-GJAHR ,
MONAT LIKE BKPF-MONAT ,
LDDT LIKE BKPF-CPUDT ,
END OF CHECK_TABO.
DATA : BEGIN OF CT_KEY ,
CLIENT LIKE BSEG-MANDT ,
COMPANY LIKE BKPF-BUKRS ,
FINYR LIKE BKPF-GJAHR ,
MONAT LIKE BKPF-MONAT ,
LDDT LIKE BKPF-CPUDT ,
END OF CT_KEY.
START-OF-SELECTION.
IMPORT CHECK_TAB FROM DATABASE INDX(VP) ID 'CDSDATE'.
LOOP AT CHECK_TAB.
MOVE-CORRESPONDING CHECK_TAB TO CHECK_TABO. APPEND CHECK_TABO.
ENDLOOP.
LOOP AT CHECK_TAB.
IF CHECK_TAB-FINYR = ZGJAHR AND CHECK_TAB-MONAT IN ZPERIOD AND
CHECK_TAB-COMPANY = ZBUKRS.
CLEAR CT_KEY.
MOVE: CHECK_TAB-CLIENT TO CT_KEY-CLIENT ,
CHECK_TAB-COMPANY TO CT_KEY-COMPANY,
CHECK_TAB-FINYR TO CT_KEY-FINYR ,
CHECK_TAB-MONAT TO CT_KEY-MONAT ,
CHECK_TAB-LDDT TO CT_KEY-LDDT.
EXPORT : CHECK_TAB CT_KEY TO MEMORY.
SUBMIT ZCDSDTUP
WITH YCLIENT = SY-MANDT
WITH YCOMPANY = ZBUKRS
WITH YFINYR = ZGJAHR
WITH YMONAT = CHECK_TAB-MONAT
WITH YLDDT = CHECK_TAB-LDDT
VIA SELECTION-SCREEN AND RETURN.
IMPORT CHECK_TAB FROM MEMORY .
ENDIF.
ENDLOOP.
SKIP 2.
WRITE :/2 'Position Before Update'. ULINE /2(53).
WRITE :/4 'Client' , 11 'Comp.' , 18 'Fin.Yr.' , 27 'Period' ,
35 'Data Downloaded upto'. SKIP 1.
LOOP AT CHECK_TABO.
IF CHECK_TABO-FINYR = ZGJAHR AND CHECK_TABO-MONAT IN ZPERIOD AND
CHECK_TABO-COMPANY = ZBUKRS.
WRITE :/5 CHECK_TABO-CLIENT,11 CHECK_TABO-COMPANY,19 CHECK_TABO-FINYR,
29 CHECK_TABO-MONAT, 38 CHECK_TABO-LDDT.
ENDIF.
ENDLOOP.
SKIP 3.
WRITE :/2 'Position After Update'. ULINE /2(53).
WRITE :/4 'Client' , 11 'Comp.' , 18 'Fin.Yr.' , 27 'Period' , 35 'Data Downloaded upto'. SKIP 1.
LOOP AT CHECK_TAB.
IF CHECK_TAB-FINYR = ZGJAHR AND CHECK_TAB-MONAT IN ZPERIOD AND
CHECK_TAB-COMPANY = ZBUKRS.
WRITE :/5 CHECK_TAB-CLIENT ,11 CHECK_TAB-COMPANY , 19 CHECK_TAB-FINYR,
29 CHECK_TAB-MONAT , 38 CHECK_TAB-LDDT.
ENDIF.
ENDLOOP.
SKIP 3. ULINE.
WRITE :/7 'PLEASE CONFIRM CAREFULLY THE ABOVE DATES ' ,
/5 'BEFORE RUNNING THE DATA DOWNLOAD PROGRAM FOR CDS.'.
EXPORT CHECK_TAB TO DATABASE INDX(VP) ID 'CDSDATE'.You will haev to add the varaint also in the object entry in the transport request.
For this
goto Se38 - > select progfram - > click on radio button for varaints - > Cick on Display - > Utilities -> transport request - > and execute.
This wil include the varaint also with the program name in the transport request and allow you to directly execute the program after transport to be executed with a varaint.
Regards,
Mansi. -
Authorization checking in ABAP program
I have a customed report which shows sales order information, with sales order no., sales. org, distribution channel, division and some others as selection criteria.
How I can limit a user that can view only 1 or 2 specific sales. org. (according to his/her authorization profile) even though he/she hasn't input anything in the sales org. field during selection?
Thanks!Hi Gundam
If the user doesnt input any sales organization then
you can get the list of sales organizations defined from
table TVKO and then check for the authorization using each entry. Prepare a range for all sales organizations
whereby later you can use in extraction process.
Other better way is to make the parameter/select-option
mandatory so the user has to enter the sales organization.
Hope the above info helps you.
Kind Regards
Eswar -
hellow i have a table itab with value (ex. error value) and i wont to select some value from tables ( defined below.) and put it in table err_itab my problem is in the loop i dont now how to continued from their i thihk with append to intrernal tables and after to do read to err_itab, but im not sure this is my program any suggestion. thankes for your time and suggestion.
form write_2_file .
IF file_ser IS INITIAL.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
filename = l_name
FILETYPE = 'ASC'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = itab
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
no_authority = 10
OTHERS = 11
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.
OPEN DATASET file_ser IN TEXT MODE
ENCODING DEFAULT FOR INPUT.
IF sy-subrc NE 0.
MESSAGE e002(yhr) .
ENDIF.
DO.
READ DATASET file_ser INTO wa_itab.
IF sy-subrc NE 0.
EXIT.
ENDIF.
APPEND wa_itab TO itab.
ENDDO.
ENDIF.
endform. " write_2_file
FORM get_data .
CLEAR wa_itab.
LOOP AT itab INTO wa_itab.
IF wa_itab-action = 'y1'
OR wa_itab-action = 'y2'
OR wa_itab-action = 'y3'.
SELECT SINGLE ansvh
FROM t542a
INTO wa_b_itab-ansvh
WHERE molga ='IL'
AND ansvh = wa_itab-contract.
IF sy-subrc <> 0.
APPEND wa_b_itab TO b_itab.
SELECT SINGLE werks btrtl
FROM t001p
INTO (wa_c_itab-werks, wa_c_itab-btrtl)
WHERE molga ='IL'
AND werks = wa_itab-personnel_area
AND btrtl = wa_itab-personnel_subarea.
IF sy-subrc <> 0.
APPEND wa_c_itab TO c_itab.
SELECT SINGLE objid
FROM hrp1000
INTO wa_d_itab-objid
WHERE otype = 'S'
AND objid = wa_itab-plans
AND begda <= currnt_date
AND endda >= currnt_date.
APPEND wa_d_itab TO d_itab.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.<i>I have added authorization check in ABAP program(Progran level security).</i>
i assume you have coded call authority within the program.
<i>If an end user runs the transactionm, then which authorization check will fire first?</i>
if he calls the transaction, then first authorization attached to the transaction will be checked.
but if he executes the program attached to the transaction, then the authorization attached to the transaction dosent help here, the one coded in side the program is checked.
<i>If I have web enabled my ABAP program via SICF (in other words, ITS).</i>
it depends,
if you are calling your transaction like
webgui/?~transaction=<tcode> then first tcode level authorization.
if you generate the templates for the program and callign the same, then i guess its progam level. (i need to check this)
Regards
Raja -
Question on security in ABAP program with ITS. Please help!
Hi Experts,
I have a question on security in ABAP program.
I have a ABAP program which has a transaction attached.
I have added authorization check in ABAP program(Progran level security).
I have also attached the authorization object to the transaction.(Transaction level security)
If an end user runs the transactionm, then which authorization check will fire first? Will it be transaction level?
If I have web enabled my ABAP program via SICF (in other words, ITS). Then when I try to run my ITS service in the browser will the transaction level authorization fire? or Will the program level authorization fire?
Please help me understand this security aspect.
Thanks
Gopal<i>I have added authorization check in ABAP program(Progran level security).</i>
i assume you have coded call authority within the program.
<i>If an end user runs the transactionm, then which authorization check will fire first?</i>
if he calls the transaction, then first authorization attached to the transaction will be checked.
but if he executes the program attached to the transaction, then the authorization attached to the transaction dosent help here, the one coded in side the program is checked.
<i>If I have web enabled my ABAP program via SICF (in other words, ITS).</i>
it depends,
if you are calling your transaction like
webgui/?~transaction=<tcode> then first tcode level authorization.
if you generate the templates for the program and callign the same, then i guess its progam level. (i need to check this)
Regards
Raja -
Error:Dataflows abap program
Hi,
Dataservices 4.2
Sql server 2008
SAP (4.6
I make a migration of dataservices 11.5 towards 4.2 on new waiter.
when I try to execute my dataflow abap, I have this message error :
error:"RFC Call Receive error<Function/BODS/ABAP_RUB:RFC_ABAP_EXCEPTION( PROGRAM_DOES_NOT_EXIT)aucun numéro de pager n'est généré pour cette adresse
I have make install on the Server SAP 2 functions ( K900187.R22 and R900187.R22) which allowed me to import my SAP tables on the datastore and
reading the data.
I use "execute preloaded " option for execute my dataflows
since migration the dataflows abap do not function any more
it would have installations or configuration has to make on the Server SAP
Somebody has an idea
Thanks youDear Marie,
You will have to have to import the new ABAP Program group "BODS/BOS" which you can find in the local install folder...
Here are some details:
Installing Functions on the SAP Server
SAP BusinessObjects Data Services provides functions that support the use of the ABAP, BAPI, and
IDoc interfaces on SAP servers. You will need some or all of these functions in the normal operation
of the software in an SAP environment. These functions perform such operations as dynamically loading
and executing ABAP programs from Data Services, efficiently running preloaded ABAP programs,
allowing for seamless metadata browsing and importing from SAP servers, and reporting the status of
running jobs. Some of these functions read data from SAP NetWeaver BW sources.
You must upload the provided functions to your SAP server in a production environment. It is
recommended that you always upload the functions to your SAP server whether you are in a
development, test, or production environment. The functions provide seamless integration between
Data Services and SAP servers.
The default installation places two function module files for SAP servers in the ...\Data
Services\Admin\R3_Functions\transport directory. You then upload these files to SAP servers
using the SAP Correction and Transport System (CTS) or manually. Using CTS allows for version
control as the functions evolve across releases.
The installation provides two versions of transport files (depending on the server version you are using)
to install the functions on the SAP server. To obtain the names of the latest transport files for installing
or upgrading these SAP server functions, see the readme.txt file
And I've found those files and text files in the local install folder....in:
Program Files\SAP BusinessObjects\Data Services\admin\R3_Functions
(that's where I've installed it).
There you'll find some descriptive txt as how to proceed.
After installing, it might happen that the executing user is missing some authorizations.
Here my authorizations team helped me by tracing the user and then adding the necessary rights.
Sure hope this will help you.
Notes to check:
see SAP Note 1919255
Note 1916294 -
How to get the name of an executing ABAP query in run time
Hi ABAP Gurus,
I need to get the ABAP query name when it's running. For example we can get the current executing ABAP program name from SY-REPID.
My tried logic - every query generates an ABAP program like AQZZUGQUERY. 'UG' stands for user-group name and the length specified for it is 12, if the length of the user-group name is less than 12, then the rest will be filled by '='. Next 'QUERY' stands for ABAP query name and the length specified for it is 14, if less, then the rest will be filled in with '=' in the right. I've tried to extract the query name by using cut and trip (offset) operations.
But somehow this logic is not working - always it's picking up the function name as checked in debug mode.
Guys - Can you please provide me the solution on this.
Thanks & regards,
Jayanta Bej.Guys,
I've cracked the issue. Instead of retrieving the query name from sy-repid, I've retrieved it from sy-cprog and the problem is resolved.
Thanks guys for your quick responses.
Thanks and regards,
Jayanta Bej. -
ABAP Program for set local process chain failed
I would like to execute ABAP Program in local process chain. If the condition is in the pre-defined bussiness rule, local process chain is set to fail.
Currently I use ABAP and Raise Message Error = Message Type E for cancel program. After program is cancelled, local process chain don't know its status, wait for job SAP_CCMS_MONI_BATCH_DP to determine status of process chain and then further execute subsequent process.
I 'm not sure that our solution is right or not about set process chain to fail via ABAP. Please suggest us if there are other solution to set process chain as failed.Hi.
Plz see my answer to similar question in [this thread|Re: Manage a message at the end of process chain on Web planning Application].
Regards. -
Authorization Error while executing a program
Hi All,
I have developed a program which calls VF02 transaction in background. But while executing it, the program fails with message'No authorization for sales organization XXXX'.
The users who are executing the program does not have access to VF02 and for security reasons the access can not be given to the users.
So my question is whether this error is due to no access to 'VF02' or with the sales organization?
Can we give access to the users according to sales organization rather than giving authorization for VF02 ?
If not then whats the solution to rectify this error without giving VF02 access to users?
Please help.
Thanks,
Sanujit AcharyaHi Sandeep
The OP's question appears to be 'If I give a custom transaction to a user it seems to then call an object unexpectedly that has a sales organisation value because I'm using it to call VF02".
Due to SU24 not being updated for the custom transaction I'm guessing.
A trace would probably assist when working with the functional team to decide what is really needed but I'm a little lost as to what is being asked of either the OP or the security/ABAP teams as this is pretty basic stuff...
@Sanujit
I have developed a program which calls VF02 transaction in background. But while executing it
Have you had this program associated with a custom transaction yet?
Regards
David
Edited by: David Berry on May 28, 2011 5:41 PM (got my sales orders mixed up)
Edited by: David Berry on May 28, 2011 5:47 PM
Maybe you are looking for
-
Does SAP maintain log of all the messages displayed on screen using MESSAGE statement? We are investigating a problem and want to see the messages displayed by SAP during the time when problem occured.
-
Creating a new view in a component
HI, I am trying to create a new view in a BSP component using the wizard. But the context nodes are not getting created. Its throwing up an error - "View not copied with wizard; processing not possible". What could be the problem ? Pls help. Regards,
-
I want to download songs by using iTunes. Now, my iTunes account is in one computer and when I connect my iPhone 5s to a different computer that is much better to work on, it tells me that my iPhone is connected to to iTunes in a different computer a
-
When opening a pdf set default view on details
Dear reader, I have a question about the default view when opening an pdf. How can I set the default view to detail its on list now. I also want this setting to be saved. Im using adobe reader 8.1.2. Any help would be appriciated.
-
Group wikis not visible to public
I have two wikis running on 10.6.3. They are both available to group members if they manually type in the address http://servername/groups/wiliname/ However, if you go to http://server_name/ and click on the "Wikis" button, nothing is visible. Neithe