Can we call a bdc from a report program?
hi
Can we call a bdc from a report program?
Thanks
Rama
Hello,
Yes..
Check this example:
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA : L_EBELN TYPE EKPO-EBELN,
L_EBELP TYPE EKPO-EBELP.
DATA : L_DATE1 TYPE SY-DATUM,
L_DATE2 TYPE SY-DATUM,
L_YEAR(4),
L_MONTH(2),
L_DATE(2).
DATA: L_AMOUNT1 LIKE RK40C-WTGBTR.
DATA: L_POSID_OLD TYPE PS_POSID.
DATA: L_POSID_NEW TYPE PS_POSID.
DATA: LS_COBK LIKE COBK.
DATA: LT_ITEMS LIKE RK40C OCCURS 0 WITH HEADER LINE,
LT_COEP LIKE COEP OCCURS 0 WITH HEADER LINE,
LT_COEPL LIKE COEPL OCCURS 0 WITH HEADER LINE,
LT_COEPR LIKE COEPR OCCURS 0 WITH HEADER LINE,
LT_MESG LIKE MESG OCCURS 0 WITH HEADER LINE.
DATA: LV_NUM TYPE POSNR_ACC VALUE '1'.
DATA: CD_SEND_REC_REL LIKE COHEADER-SEND_REC_REL,
LD_STATUS LIKE RK23F-STATUS.
DATA: L_DYNNR LIKE FELD-DYNNR.
CLEAR : L_DATE,L_DATE1,L_DATE2,L_YEAR,L_MONTH.
L_DATE1 = SY-DATUM.
L_YEAR = L_DATE1(4).
L_MONTH = L_DATE1+4(2).
L_DATE = L_DATE1+6(2).
CONCATENATE L_DATE L_MONTH L_YEAR INTO L_DATE2 .
CASE R_UCOMM.
WHEN '&IC1'. "doubleclick
CHECK RS_SELFIELD-FIELDNAME = 'EBELN'.
READ TABLE G_T_FINAL INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
READ TABLE G_T_TEMP WITH KEY LOGNUM = G_T_FINAL-LOGNUM.
IF SY-SUBRC = 0.
MESSAGE I899(KB) WITH TEXT-004.
ELSE.
CLEAR : L_EBELN,L_EBELP,LS_COBK,LT_ITEMS,G_T_BDC,G_T_MESSAGE,
CD_SEND_REC_REL,LD_STATUS.
REFRESH: LT_ITEMS,G_T_BDC,G_T_MESSAGE.
SET PARAMETER ID 'BES' FIELD G_T_FINAL-EBELN.
GET PARAMETER ID 'BES' FIELD L_EBELN.
SET PARAMETER ID 'BSP' FIELD G_T_FINAL-EBELP.
GET PARAMETER ID 'BSP' FIELD L_EBELP.
SORT G_T_FINAL BY EBELN EBELP.
READ TABLE G_T_FINAL WITH KEY EBELN = L_EBELN
EBELP = L_EBELP
BINARY SEARCH.
IF SY-SUBRC = 0.
LS_COBK-KOKRS = G_T_FINAL-KOKRS.
LS_COBK-GJAHR = SY-DATUM+0(4).
LS_COBK-VRGNG = 'RKU1'.
LS_COBK-PERAB = SY-DATUM+4(2).
LS_COBK-PERBI = SY-DATUM+4(2).
LS_COBK-BLDAT = SY-DATUM.
LS_COBK-BUDAT = SY-DATUM.
LS_COBK-CPUDT = SY-DATUM.
LS_COBK-USNAM = SY-UNAME.
LS_COBK-WSDAT = SY-DATUM.
LS_COBK-KURST = 'M'.
LS_COBK-VARNR = '05SAP'.
LS_COBK-KWAER = G_T_FINAL-WAERS.
LS_COBK-CPUTM = SY-UZEIT.
CLEAR : L_POSID_OLD,L_POSID_NEW.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
INPUT = G_T_FINAL-POSID_NEW
IMPORTING
OUTPUT = L_POSID_NEW.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
INPUT = G_T_FINAL-POSID_OLD
IMPORTING
OUTPUT = L_POSID_OLD.
L_AMOUNT1 = G_T_FINAL-AMOUNT.
LT_ITEMS-ZLENR = LV_NUM.
LT_ITEMS-EPSPNR = L_POSID_NEW.
LT_ITEMS-SPSPNR = L_POSID_OLD.
LT_ITEMS-KSTAR = G_T_FINAL-KSTAR.
LT_ITEMS-WAERS = G_T_FINAL-WAERS.
LT_ITEMS-WTGBTR = L_AMOUNT1.
LT_ITEMS-WKGBTR = L_AMOUNT1.
APPEND LT_ITEMS.
CLEAR: LT_ITEMS.
* For reposting the Cost
CHECK NOT LT_ITEMS[] IS INITIAL.
CALL FUNCTION 'K40C_COBK_CHECK_POST'
CHANGING
ITCOBK = LS_COBK
EXCEPTIONS
PERIOD_BLOCKED = 1
EXTERNAL_NUMBER_MISSING = 2
ERROR_OCCURED = 3.
IF SY-SUBRC IS INITIAL.
CALL FUNCTION 'K40C_DOCUMENT_LINE_CHECK'
EXPORTING
DOC_HEADER = LS_COBK
IGNORE_WARNINGS = 'X'
TABLES
DOC_ITEMS = LT_ITEMS.
*...Create Tables for database
CALL FUNCTION 'K40C_DOCUMENT_CREATE'
EXPORTING
DOC_HEADER = LS_COBK
TABLES
DOC_ITEMS = LT_ITEMS
ITCOEP = LT_COEP
ITCOEPL = LT_COEPL
ITCOEPR = LT_COEPR.
CALL FUNCTION 'K40C_DOCUMENT_POST'
TABLES
ITCOEP = LT_COEP
ITCOEPL = LT_COEPL
ITCOEPR = LT_COEPR
CHANGING
DOC_HEADER = LS_COBK.
ENDIF.
ENDIF.
IF SY-SUBRC = 0.
GET PARAMETER ID 'KBXXN_P_VAR_RKU1' FIELD CD_SEND_REC_REL.
GET PARAMETER ID 'KBXX_START_DYNPRO' FIELD LD_STATUS.
IF CD_SEND_REC_REL IS INITIAL AND LD_STATUS IS INITIAL.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'L'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ENDIF.
IF CD_SEND_REC_REL EQ '05SAP' AND LD_STATUS EQ 'S'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL EQ '05SAP' AND LD_STATUS EQ 'L'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' L_DYNNR.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL NE '05SAP' AND LD_STATUS EQ 'S'.
CASE CD_SEND_REC_REL.
WHEN '01SAP' OR '02SAP' OR '04SAP' OR '08SAP' OR '09SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
WHEN '03SAP' OR '07SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1230' .
WHEN '06SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1210'.
WHEN '10SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1270'.
ENDCASE.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' L_DYNNR.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_FIELD USING 'RK23F-WAERS'
'EUR'.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL NE '05SAP' AND LD_STATUS EQ 'L'.
CASE CD_SEND_REC_REL.
WHEN '01SAP' OR '02SAP' OR '04SAP' OR '08SAP' OR '09SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
WHEN '03SAP' OR '07SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1230' .
WHEN '06SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1210'.
WHEN '10SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1270'.
ENDCASE.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'L'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ENDIF.
CALL TRANSACTION 'KB11N' USING G_T_BDC MODE G_MODE MESSAGES
INTO G_T_MESSAGE.
IF NOT G_T_MESSAGE[] IS INITIAL.
READ TABLE G_T_MESSAGE WITH KEY MSGTYP = 'S'.
IF SY-SUBRC = 0.
DELETE FROM BALHDR WHERE LOGNUMBER = G_T_FINAL-LOGNUM AND
OBJECT = G_T_FINAL-OBJECT AND
SUBOBJECT = G_T_FINAL-SUBOBJECT.
COMMIT WORK.
G_T_TEMP = G_T_FINAL.
APPEND G_T_TEMP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CLEAR G_T_MESSAGE.
REFRESH G_T_MESSAGE.
*refresh g_t_bdc.
CLEAR G_T_BDC.
REFRESH G_T_BDC.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
Vasanth
Similar Messages
-
Can we call a BDC from REPORT program.
hi
can anybody tell me that
can we call a BDC from REPORT program.
thanks®ardsYes, It can be called.
Infact you can generate a program from SHDB recording and in the program generated you can put necessary report logic and call the BDC/CALL TRANSACTION as required.
<b>Please check here for a sample program,</b>
http://www.sapdevelopment.co.uk/bdc/bdc_ctcode.htm
Regards
Kathirvel -
Can we call a transaction from a report
hi
can we call a transaction from a reporthi,
we can call
check it
*& Report ZSALESORDERDETAILS_ASHOK
REPORT ZSALESORDERDETAILS_ASHOK
NO STANDARD PAGE HEADING
LINE-SIZE 50
LINE-COUNT 35(5).
*data declaration.
tables :vbak.
tables: VBAP.
DATA : TVBAK LIKE VBAK OCCURS 0 WITH HEADER LINE,
TVBAP LIKE VBAP OCCURS 0 WITH HEADER LINE,
TEMP TYPE p decimals 5 VALUE '0.0' ,
A type i,
FIELDNAME TYPE STRING,
FIELDVALUE TYPE VBAP-VBELN.
DATA G_CB.
selection-screen begin of block screen1 with frame title TEXT-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /32(35) COMM1.
SELECTION-SCREEN ULINE /27(35).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS TVBELN FOR VBAK-VBELN.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT /30(50) COMM2.
SELECTION-SCREEN ULINE /27(40).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS TERDAT FOR VBAK-ERDAT.
SELECTION-SCREEN SKIP.
selection-screen end of block screen1.
*Initialization
Initialization .
TVBELN-low = 4000.
TVBELN-high = 5000.
TVBELN-option = 'BT'.
TVBELN-sign = 'I'.
APPEND TVBELN.
TERDAT-low = '19960202'.
TERDAT-high = '20020302' .
APPEND TERDAT.
AT SELECTION-SCREEN .
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN TVBELN AND erdat IN Terdat .
IF sy-subrc ne 0.
MESSAGE 'ENTERED ORDER NOT FOUND' type 'E'.
ENDIF.
START-OF-SELECTION.
REFRESH TVBAK.
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN TVBELN AND ERDAT IN TERDAT.
END-OF-SELECTION.
LOOP AT TVBAK.
WRITE: /2 SY-VLINE,
TVBAK-VBELN INPUT ON ,
15 SY-VLINE,TVBAK-ERDAT hotspot on,
30 SY-VLINE, 35 TVBAK-ERNAM,
46 SY-VLINE,
g_cb AS CHECKBOX.
ENDLOOP.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
RESERVE A LINES.
AT SELECTION-SCREEN OUTPUT.
comm1 ='SELECT SALES ORDER RANGE'.
comm2 ='SELECT SALES ORDER CREATION DATE'.
TOP-OF-PAGE.
ULINE.
WRITE /15 ' SALES ORDER REPORT ' COLOR = 1 .
ULINE.
WRITE : /7 ' VBELN ' COLOR = 5 ,
19 ' ERDAT ' COLOR = 5,
34 ' ERNAM ' COLOR = 5.
ULINE.
END-OF-PAGE.
IF SY-LSIND = 0.
ULINE.
WRITE : /2 'NUMBER OF LINE IN THIS PAGE = ', SY-LINNO.
SKIP.
WRITE: /30 'PAGE NUMBER = ', SY-PAGNO.
ULINE.
ELSEIF SY-LSIND = 1.
ULINE.
WRITE : /12 'TOTAL PRICE = ' ,TEMP.
CLEAR TEMP.
SKIP.
WRITE : /30 'PAGE NUMBER = ', SY-PAGNO.
ULINE.
ENDIF.
at line-selection.
GET CURSOR FIELD FIELDNAME VALUE FIELDVALUE.
IF FIELDNAME = 'TVBAK-VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = FIELDVALUE
IMPORTING
OUTPUT = FIELDVALUE.
WINDOW STARTING AT 60 2 ENDING AT 120 25.
IF SY-LSIND = 1.
SELECT
FROM VBAP
INTO TABLE TVBAP
WHERE VBELN EQ FIELDVALUE.
LOOP AT TVBAP.
TEMP = TEMP + TVBAP-NETPR.
WRITE : /2 SY-VLINE, TVBAP-matnr,
17 SY-VLINE,TVBAP-VBELN,
30 SY-VLINE,TVBAP-NETPR currency 'IN',
49 SY-VLINE.
ENDLOOP.
ULINE.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
RESERVE A LINES.
ENDIF.
<b>ELSEIF SY-LSIND = 2.
call transaction 'MM01' .
ENDIF.</b>
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE : / SY-ULINE,
/7 ' DETAIL OF GIVEN SALES ORDER ' COLOR = 5,
/ SY-ULINE,
/4 'MATNR',
22 'VBELN',
35 'NETPR',
/ SY-ULINE.
Regards
ASHOK
Message was edited by:
ASHOK KUMAR -
How can we call a transaction from a report?
hi
experts can u help me for thischeck this:
CHECK sy-ucomm = '&IC1'.
CASE sy-ucomm.
WHEN 'MATNR'.
READ TABLE it_final INDEX selfield-tabindex.
IF sy-subrc EQ 0.
SET PARAMETER ID 'MAT' FIELD it_final-matnr.
SET PARAMETER ID 'WRK' FIELD it_final-werks.
SET PARAMETER ID 'LAG' FIELD it_final-lgort.
SET PARAMETER ID 'CHA' FIELD it_final-charg.
CALL TRANSACTION 'MMBE' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
In this case, if ur report has material code(matnr), plant(werks), storage location(lgort), batch(charg) as the output fields and u click on the material, then it will display the details of that material for the T- code MMBE.
reward points if useful.
Message was edited by: anju
anju sinha -
Can we call multiple Smartforms from single Driver Prog?
Hi all,
Can we call multiple smartforms from single Driver Program. Here Driver program is custom Program.
I want to give Print Parameter only once and output should get printed one after the another smartform in same order of smarforms were called.
If yes, then how?
Thanks in advance.Yes, you can do this in your Smartform driver program.
Each time you call you Smartform function module you will need to change the values in structure OUTPUT_OPTIONS slightly.
On the first call set TDNEWID to X.
After this, set it to space
On the last form set TDFINAL to X.
This will put all of the output into one spool request, in the order they are called in the program.
Regards,
Nick -
Can we call a bdc program from report program
hi
can we call a bdc program from report programYes you can any program from another program using
SUBMIT <repname> statement
SUBMIT <repname> USING SELECTION-SCREEN dynnr.
or
SUBMIT <repname> VIA SELECTION-SCREEN USING SELECTION-SET variant
SUBMIT <repname> VIA SELECTION-SCREEN WITH SELECTION-TABLE rspar
etc.
Regards
Prax -
How to call a package from the Report in Oracle Application Express
How to call a package from the Report in Oracle Application Express
Hello,
What do you mean? Something like SELECT mypackage.function( par1, par2) from dual?
Or do you want to execute a procedure when something happens on the page, like clicking a button?
Greetings,
Roel
http://roelhartman.blogspot.com/
You can reward this reply by marking it as either Helpful or Correct ;-) -
How can i call a zreport from my bsp page.
Hi friends,
How can i call a zreport from my bsp page.
MoosaHi Friend,
These are the codings to be wirtten in BSP for transferring values to the REPORT
DATA:wf_date TYPE ztable-ID.
data:seltab type standard table of rsparams,
wa_seltab like line of seltab,
event TYPE REF TO if_htmlb_data.
DATA:p_value TYPE REF TO CL_HTMLB_INPUTFIELD.
event = cl_htmlb_manager=>get_event( runtime->server->request ).
p_requ ?= CL_HTMLB_MANAGER=>GET_DATA(
request = runtime->server->request
name = 'inputField'
id = 'i1'
if p_requ is not initial.
wf_date = p_requ->value.
endif.
clear wa_seltab.
if wf_date is not initial.
wa_seltab-selname = 'P_REQU'.
wa_seltab-kind = 'P'.
wa_seltab-option = 'EQ'.
wa_seltab-low = wf_date.
append wa_seltab to seltab.
endif.
submit *ZSAMPLEAP1* with selection-table seltab AND RETURN .(ZSAMPLEAP1 refers to the report name and AND RETURN for coming back to the BSP page after the completion of its operation in Report )
IMPORT int_name TO int_name FROM MEMORY ID '*zid*'.(For importing the obtained value from Report)
In Report
REPORT ZSAMPLEAP1.
SELECT-OPTIONS: p_requ FOR ztable-id NO INTERVALS.
SELECT SINGLE name from ztable into int_name WHERE id = p_requ-low.
WRITE:int_name.
EXPORT int_name TO MEMORY ID 'zsharmila'.
With Regards,
SHARMILA BRINDHA.M -
Exception while calling a BDC from webdynpro
Hi All,
I am getting an exception 'Exception condition "CNTL_ERROR" raised' while calling a BDC from the WD application, though i am calling the transaction in background mode. The statment which was throwing the exception was a create object statement in the function module DOC_DISPLAY_INITIALIZE. Can u please tell me, what is the reason for this?
Thanks in Advance,
Laxmikanth>
amit saini wrote:
> hi ,
> The message "CNTL_ERROR" appear when you are using some of the SAP enjoy transaction code like ME21N / ME22N / ME23N.
>
> This are bugs cause by the earlier version of the SAPGUI. It usually occurs when you are running a BDC session
> for a transaction that has 'fancy' screen elements like table controls ortabstrips. These work fine in the foreground, but not so well in the background.
>
>
> To solve it, goto OSS and apply the SAPGUI's latest front end patch to your PC.
>
> rgds,
> amit
There is a mixture of accurate information here.
This is NOT a SAPGUI problem. It can not be fixed with a newer version fo the SAPGUI. It is caused by transactions that were created with Enjoy Controls. Enjoy controls are not the table control or the tabstrip. They are controls that used ActiveX components on the desktop as part of the SAPGUI - like the ALV Grid, the Tree, the ABAP Editor, etc.
You can not use call transaction/BDC against such transactions in the background or in WDA because there is no connection to the frontend to create instances of these controls. These transactions with the enjoy controls should have appropriate BAPIs or Enterprise Services that you should call instead in order to make data updates or creations.
For instance see SAP Note 304122 that discusses this issue for transaction MIGO. -
How to call a Workflow from a Report in SE38?
How to call a Workflow from a Report in SE38?
Please can Anyone Send me a Source code (with Explanation)which I can use for calling Workflow >> WS99900253?
Regards,
Shashank.you can use FM
SAP_WAPI_CREATE_EVENT
SWE_EVENT_CREATE
OR
SAP_WAPI_START_WORKFLOW
Regarding usge of this FMS search the forums you will get ample examples.
Thanks
Arghadip -
How can i call a servlet from a servlet ?
Hello,
Can i call a Servlet from within a Servlet ?
and is it "right thing" to Do ?
ThanksJMO, but I wouldn't do it like this.
Don't have a remote object like a servlet doing database queries for your app. That will mean TWO network hops for every query if the database resides on another machine. The network is the biggest bottleneck you've got.
Write a JavaBean that does the database stuff for you and just have the first servlet instantiate it when it needs it. A Bean has a better chance of being reused, too. Write a TableGateway or DAO for your object.
Or write an EJB to do it.
The only time I've done a servlet-to-servlet connection like that was for one servlet running in a DMZ that would authenticate a user and then forward the request to another servlet running inside the second firewall.
I wouldn't encapsulate database query logic in a servlet like that. JMO - MOD -
How can I call a function from a procedure
I have a function named: f_calc_value which return the variable v_result. This function is part of a package.
How can I call this function from a new procedure I am creating?
Thanksor refer this theread....calling function from procedure
-
How can I call a RFC from dynpage ?
Hi!
I would like to know how can I call a RFC from a Portal aplication, dynpage or jspdynpage. there include some libraries ?
any idea?
thanksfor deploying SAP Jra :
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ad09cd07-0a01-0010-93a9-933e247d3ba4#search=%22how%20to%20use%20jca%20sapjra%20site%3Asap.com%22
For lookup of SAP Jra use:
com.sapportals.connector.connection.IConnectionFactory connectionFactory =(IConnectionFactory) initctx.lookup( "deployedAdapters/SAPFactory/shareable/SAPFactory");
Using SAP Jra
http://help.sap.com/saphelp_nw04s/helpdata/en/47/13044258bdd417e10000000a1550b0/content.htm
The important jars required are:
connector.jar
Genericconnector.jar
prtjndisupport.jar
Thanks -
I have a function from a dll that return a double* string and an integer. How can I call this function from LabVIEW? There is a possibility to work in LabVIEW with a double* string?
pcbv wrote:
> Hello all,<br><br>The header of the function is:
>
> "HRESULT WRAPIEnumerateDevices(WRAPI_NDIS_DEVICE **ppDeviceList, long *plItems);"
>
> where WRAPI_NDIS_DEVICE have this form:
>
> typedef struct WRAPI_NDIS_DEVICE<br>{<br>
> WCHAR *pDeviceName;<br>
> WCHAR *pDeviceDescription;<br><br>}
> WRAPI_NDIS_DEVICE;<br><br>
>
> The function is from WRAPI.dll, used for communication with wireless card.
> For my application I need to call in LabVIEW this function.
Two difficulties I can see with this.
First the application seems to allocate the array of references
internally and return a pointer to that array. In that case there must
be another function which then deallocates that array again.
Then you would need to setup the function call to have a pointer to an
int32 number for the deviceList parameter and another pointer to int32
one for the plItems parameter.
Then create another function in your DLL similar to this:
HRESULT WRAPIEnumExtractDevice(WRAPI_NDIS_DEVICE *lpDeviceList, long i,
CHAR lpszDeviceName, LONG lenDeviceName,
CHAR lpszDeviceDesc, LONG lenDeviceDesc)
if (!lpDeviceList)
return ERROR_INV_PARAMETER;
if (lpDeviceList[i].pDeviceName)
WideCharToMultiByte(CP_ACP, 0,
pDeviceList[i].pDeviceName, -1,
lpszDeviceName, lenDeviceName,
NULL, NULL);
if (lpDeviceList[i].pDeviceName)
WideCharToMultiByte(CP_ACP, 0,
pDeviceList[i].pDeviceDescription, -1,
lpszDeviceDesc, lenDeviceDesc,
NULL, NULL);
return NO_ERROR;
Pass the int32 you got from the first parameter of the previous call as
a simple int32 passed by value to this function (and make sure you don't
call this function with a higher index than (plItems - 1) returned from
the first function.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Can LabVIEW call a function from a .sys file or is LabVIEW limited to dll access?
My vendor has sent me a .sys file with functions accessing their hardware. Can i call these function from labview directly or do I have to wrapper the .sys with a dll?
Well a sys file is a kernel device driver. LabVIEW does not have any direct way of accessing such a driver. The way kernel drivers are accessed is usually through a DLL which makes calls to WinAPI functions such as CreateFile(), ReadFile(), WriteFile(), CloseHandle() and DeviceIORequest(). Since these WinAPI calls are basically just DLL calls too, you could theoretically use the Call Library Node to call them and access the kernel device driver in such a way.
However for any kernel device driver with more than one or two device driver calls, it will certainly be easier in terms of development, debugging and maintenance of the code, to write actually a dedicated DLL in C/C++ for this device driver and access that DLL from LabVIEW, especially if you consider the LabVIEW datatype limitations when designing the DLL interface (Basically this same DLL can then be called from any other Windows development environment, be it Visual Basic (similar datatype limitation as LabVIEW), Delphi, (Visual) C, LabVIEW or also various scripting environments like Python and Lua.
Some of the necessary WindAPI calls are rather involved and pose quite a bit of trouble to get the parameter data right in LabVIEw.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions
Maybe you are looking for
-
Can't get internal microphone to work
Hi..just got my ibook saturday after many years w a pc....I tried using Ichat, signed in to my Aim account...everything works except the internal mic..I checked system pref to make sure vol was up and mute was off, i have the icon on the top tray at
-
How to use KAWT with "Sun Java Wireless Toolkit 2.3 Beta"?
Hi! Im new to developing java for mobile devices so all of this is pretty confusing for me. I started with installing suns:s "Wireless Toolkit 2.3 Beta" and it works fine but now I want to use awt classes so I started to look it up and that�s how I f
-
Amount is coming in million or trillion instead of lakh or crore in scrip
hi everybody, i am modifying a standard fi script for payment advice . in that form i showed the total amount in words. for that i am using HR_IN_CHG_INR_WRDS function module. the amount in word is coming as million or trillion , but i need it
-
I am having trouble charging an IPad it keeps switching between two icons help!!
Hi I have been trying to charge an IPad (not a mini) that has gone flat. However whenever I plug it in to charge it keeps flashing between the red battery screen, the one that says the IPad is dead but charging, and the start up screen with the apple
-
Help ... problem with the sync iPhone with iTunes
I have a upgrade my iPhone 3G from 3.1.2 to iOS 4.1 and itunes to 10 and from that moment when I sync my iphone starts with the backup of the iPhone, then sync contacts, calendar etc. .... when the step 4-5 of 6 tracks from iTunes or sync gives me th